问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

NOIP2006提高组题:能量项链,求大神指出我的代码逻辑错误

发布网友 发布时间:2022-10-16 01:40

我来回答

1个回答

热心网友 时间:2023-10-14 11:21

你可能被题目给出的例子给误导了。题目给出的例子:
4
2 3 5 10
也就是:(2,3) (3,5) (5,10) (10,2),最优解刚好是按顺序的,也就是
4和1,炼出的珠子再和2,接着再和3。

因此,你的程序找最优解的算法,就是枚举从任意一颗珠子开始,一直【按一个方向炼制下去】。
因为有N个珠子,因此有N中结果,你就从这个N个结果中找一个最大的,作为最优值。

但是,这个算法是不完整的!!!题目并没说一定要按给出顺序,一直炼制下去!你可以任意挑出两个珠子,只要它们的头和尾一样就可以炼制了。
因此实际的炼制方法,远远多于N。设N颗珠子有F(N)种炼制方法,则:
F(N)=N*F(N-1),N>=3。且 F(1)=0,F(2)=1。
可以统一成:F(N)=N!/2,N>=2。F(1)=0。

题目的N范围:(4<=N<=100),如果采用暴力枚举的话,F(N)会达到很大的数量级。

你要问的,为什么:
7
23 17 212 113 71 301 33
正确结果:31182687
而我代码所产生的结果是:17489304
就是因为你枚举了N=7种情况,实际有7!/2=2520种情况,远远大于你枚举的范围。

通过上面的分析,可以知道,暴力枚举是行不通的。这题就是要用你提到的DP(动态规划来做的)。
用DP(动态规划)的做法是:

1)设有 N 颗珠子,信息保存在 pearls[N]中

2)energy[i][j] 表示从第 i 颗珠子到第 j 颗珠子能获得的最大能量,
初始设置为-1,表示还没有计算出来。

3)当 i==j ,是同一颗珠子,energy[i][j]=0

当 (i+1)%N==j,表示的是两颗相邻的珠子,能获得能量为:
energy[i][j] = pearls[i]*pearls[(i+1)%N]*pearls[(i+2)%N]

其他情况,在 i,j 之间任意选一个位置 k(i<=k<j)断开,计算:
a) 第 i 颗珠子到第 k 颗珠子的最大能量:energy[i,k],
也就是第 k 颗珠子左边所有珠子的最大能量;
b) 第 k+1 颗珠子到第 j 颗珠子的最大能量:energy[k+1,j],
也就是第 k 颗珠子右边所有珠子的最大能量;
  c) 第k可珠子左边和右边计算能量后,各剩下一颗珠子,这两颗珠子获得的能量为:
pearls[i]*pearls[k]*pearls[(j+1)%N]
a,b,c三部分的能量相加,就是当选择 k 位置断开后,在珠子 i,j直接能获得的最大能量。
如果这个能量比原来的 energy[i][j] 要大,energy[i][j] 就更新为这个能量值。

4) energy[0][N-1]就是题目要求的,使用N颗珠子能获得的最大能量。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
纹身纹在不容易被人看到的地方,比如腰的上面一点,人际交往应该没什么... 我想办信用卡,工作证明这样写可以不? 工作证明 兹有我单位 办理信用卡需要验证上班公司的信息吗?办卡需要什么条件? 没有固定单位上班能申办信用卡吗? 少年包青天3上三大神器一案中谁是凶手? 仙人山服务区有早点吗_防城港3路公交车路线 山西队迪亚洛是哪个国家的 现在机票的飞机建设费和燃油费 贾府是一座大宅子黛玉走了哪些地方 一个长方形操场长110米宽90米把它画在比例尺上1:100的图纸上,长和... 你走了真好原句谁说的 网易云音乐热评 | 你走了真好,不然总担心你要走 热带鱼饲养 热带鱼怎么养 这种小蚂蚁咬一下就肿了 特别痒 怎么办 小米手机不小心把照片删了怎么办 让你有后悔药吃 防盗门钥匙开门拔不出来 一定要上一道锁才行 为什么? 防盗门只能锁上一道,上一道连杆掉了怎么解决 真人发中顺发与泡发的区别? 头发打结怎么办?我的头发梳完没多久又打结了,还有,头发分叉了又不想把它剪掉,怎么办? 头发十分难梳理是怎么回事?怎样解决?两问. 梳头发的正确方法 退热贴婴儿和儿童的区别 云飞的演艺经历 周立波因在美涉毒持枪被控5项罪名,他为什么被控? 周立波终审被判处两年以上,他的黑历史有哪些? 曾经打岳父坐牢,讽刺金星李玉刚,周立波是不是毁在了自己的嘴上? 周立波坐牢原因是什么 周立波曾打瞎其岳父双眼 蔡嘎亮被周立波打是真的吗? 求购单反三脚架推荐 歌曲《想家的时候》的歌词写到:夜深人静的时候是想家的时候,想家的时候很甜蜜,家乡月就*我的头,想 听过最心酸的一句话:你走了真好,不然总担心你会走。 ”你走了真好,不然总担心你要走“ 是出自哪个里面的 你走了真好,不然总担心你要走英语 你走了真好,不然总担心你要走。 朋友圈伤感说说:你离开了真好,要不然总担心你会走 你走了真好,不然总担心你要走。 可我再也没有外婆了。是哪本书里的话? 你走了真好,不然总担心你要走。删了你真好,不然总想联系你。什么意 全国国有企业党的建设工作会议,有哪些看点 寻找吉林省民办专科学校。。急。。 小孩子在外面玩,叫了不会回来 吉林省都有什么大专学校 西方民主制度的弊病 好玩的早会互动小游戏 适合联谊玩的互动游戏 吧唧和谷子是什么意思,吧唧是谷子吗 和宝宝到厨房做亲子游戏 前田敦子出演的日剧 除了《真假学院》还有什么?? 一种手机游戏,关于厨房做菜,可以给动物吃,会做出不同的表情这是什么游戏 厨房里的8个聪明游戏 日剧Q10里出现的这首歌叫什么名字
  • 焦点

最新推荐

猜你喜欢

热门推荐