版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、int i,j,k,x,y,t,v,n,max;cinn;/输入能量珠子个数for(i=1;iv; /输入能量珠子头标记bi.head=v;if(i=1) bn.rear=v;elsebi-1.rear=v;/头标记入表并且尾标记入表dpi1=0;for(j=2;j=n;j+)/ j代表有几个珠子合并for(i=1;i=n;i+)/枚举起始点 for(dpij=0,k=1;kn) x=x-n;y=x+(j-k)-1;if(yn)y=y-n;t=dpik+dpxj-k+bi.head*bx.head*by.rear;/一串项链内的各种情况if(tdpij) dpij=t;/比较得出最优情况,存储
2、进二维数组01234567891012345W 8 4 3 4 2V 2 5 5 3 2 数组中填的是对前i件物品,花费不超过010,价格与重要度乘积的总和的最大值。例如: a(3,7)中填的是“对于前3件物品,花费不超过7,价格与重要度乘积的总和的最大值”0123456789101000000001616162345W 8 4 3 4 2V 2 5 5 3 2 I=1,即对前1件物品,花费不超过010,价格与重要度乘积的总和的最大值分别是:01234567891010000000016161620000345W 8 4 3 4 2V 2 5 5 3 2 i=2,即对前i件物品,花费不超过k(
3、0=k=10),价格与重要度乘积的总和的最大值分别是:If k=wi then 第i件物品可要可不要,不要ai,k:=ai-1,k; 要 ai,k:=ai-1,k-wi+wi*vi ai,k:=max(ai-1,k, ai-1,k-wi+wi*vi)01234567891010000000016161620000? ?345W 8 4 3 4 2V 2 5 5 3 2 If k=w2 then 第i件物品可要可不要,不要a2-1,4=a1,4=0; 要 a2-1,4-w2+w2*v2=a1,0+4*5=20max(a2-1,k, a2-1,k-w2+w2*v2)=max(0,20)012345
4、678910100000000161616200002020345W 8 4 3 4 2V 2 5 5 3 2 If k=w2 then 第i件物品可要可不要,不要a2-1,4=a1,4=0; 要 a2-1,4-w2+w2*v2=a1,0+4*5=20max(a2-1,k, a2-1,k-w2+w2*v2)=max(0,20)012345678910100000000161616200002020202020202020345W 8 4 3 4 2V 2 5 5 3 2 If k=w2 then 第i件物品可要可不要,不要a2-1,k=a1,k=0; 要 a2-1,k-w2+w2*v2=a1,
5、k-4+4*5=20max(a1,k, a1,k-4+20)0123456789101000000001616162000020202020202020203000152020203535353545W 8 4 3 4 2V 2 5 5 3 2 If k=w3 then 第i件物品可要可不要,不要a3-1,k=a2,k; 要 a3-1,k-w3+w3*v3=a2,k-3+3*5max(a2,k, a2,k-3+15)01234567891010000000016161620000202020202020202030001520202035353535400015202020353535355W
6、 8 4 3 4 2V 2 5 5 3 2 If k=w4 then 第i件物品可要可不要,不要a4-1,k=a3,k; 要 a4-1,k-w4+w4*v4=a3,k-4+4*3max(a3,k, a3,k-4+12)012345678910100000000161616200002020202020202020300015202020353535354000152020203535353550041520202435353939W 8 4 3 4 2V 2 5 5 3 2 If k=w5 then 第i件物品可要可不要,不要a5-1,k=a4,k; 要 a5-1,k-w5+w5*v5=a4,
7、k-2+2*2max(a4,k, a4,k-2+4)012345678910100000000161616200002020202020202020300015202020353535354000152020203535353550041520202435353939W 8 4 3 4 2V 2 5 5 3 2 对于这5件物品,花费不超过10,价格与重要度乘积的总和的最大值是:a(5,10)即39我们再从另一角度作些解释:设 S 是长度为 w 的 01 字符串(即字符串 S 由 w 个 “ 0 ” 或 “ 1 ” 组成), S 对应于上述条件( 3 )中的 q 。将 S 从右起划分为若干个长度为 k 的段,每段对应一位 2k 进制的数,如果 S 至少可分成 2 段,则 S 所对应的二进制数又可以转换为上述的 2k 进制数 r 。 例:设 k=3 , w=7 。则 r 是个八进制数( 2 3 =8 )。由于 w=7 , 长度为 7 的 01 字符串按 3 位一段分,可分为 3 段(即 1 , 3 , 3 ,左边第一段只有一个二进制位),则满足条件的八 进制数有: 2 位数:高位为 1 : 6 个(即 12 , 13 , 14 , 15 , 16 , 17 ),高位为 2 : 5 个, ,高位为 6 : 1 个(即 67 )。共 6+5+ +1=21 个。 3 位数:高位只能是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理-财务内部监督管理制度
- 浙江省台州市椒江区2025-2026学年招生统一考试模拟化学试题试卷含解析
- 北京市昌平区昌平五中学2026年初三下学期一轮模拟数学试题试卷含解析
- 湖北省武汉市新洲区2026年初三暑假末结业考试物理试题含解析
- 山东省日照岚山区五校联考2025-2026学年初三下学期第二次阶段(期中)考试题含解析
- 2026年天津市红桥区复兴中学初三下学期寒假收心模拟考试数学试题试卷含解析
- 江西省2026届中考全国统考预测密卷(1)物理试题试卷含解析
- 胆管癌术后康复评估方法
- 信息化绩效考核制度
- 审计署考核制度
- 实习护士第三方协议书
- 《云南教育强省建设规划纲要(2024-2035年)》解读培训
- 评审专家聘任协议书
- 民宿委托经营管理协议合同书
- 2024-2025学年鲁教版(五四学制)(2024)初中英语六年级下册(全册)知识点归纳
- 2025全国市场监督管理法律知识竞赛测试题库(含答案解析)
- 金融企业呆账核销管理办法(2024年)
- 设备验证培训
- 2025年湖北省八市高三(3月)联考政治试卷(含答案详解)
- 《趣味学方言》课件
- GB/T 19973.2-2025医疗产品灭菌微生物学方法第2部分:用于灭菌过程的定义、确认和维护的无菌试验
评论
0/150
提交评论