风雪梦

柳絮因风起

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  4 Posts :: 76 Stories :: 3 Comments :: 0 Trackbacks

常用链接

留言簿

我参与的团队

搜索

  •  

最新评论

  • 1. re: LightOJ1080 Binary Simulation
  • 话说加个PushDown操作不就OK了咩?
  • --仗剑奔走天涯
  • 2. re: 正式开博
  • 加油!
  • --leafcloudsky
  • 3. re: 启航杯啊
  • 太屎了!!我竟然就这么的WA了两次,最终发现,第四题少了两句初始化,第五题把数组开错地方了,算法没问题,结果就这么从四题跌到二题,太伤不起了!!可怜我调spfa调了一晚上!!尼玛啊!!
  • --浅雨歌

阅读排行榜

评论排行榜

到现在为止,这道题我还是没有完全理解,但是还是要把这个解题报告放出来,说不定写着写着我就明白了,说不定看着看着,我也就能明白了。
题意是给一个左右各长15的杆子,在杆子的指定位置上挂C个挂钩,给G个砝码,不同重量,挂在杆子两侧,问何时达到平衡。
这道题的状态我愣是没确定了,被这道题吓到了。平衡度,好吧,从来没做过类似的DP题。

这道题的最终结果还是求助得来的,天,又是求助……只求做一道会一道吧。

状态dp[i][j]表示当用了前i个物品,平衡度为j的挂法的数量,题里面要求的应该是求所有g个物品挂上去以后,平衡度为0的挂法吧,好吧,暂时先不管它,极端情况就是所有的物品都挂在最远端,那极端情况就应该是25*20*15=7500,按照题意,应该就是左边7500,右边7500,范围应该是[-7500..7500],移植到C语言里面就是[1..15000],所求的就是dp[g][7500]。

如果第i个物品挂在某一个挂钩上,一定在挂上前i-1个物品的所产生的某平衡度的基础上产生了一个新的平衡度,不同的挂钩平衡度不同,第i个物品挂在每一个挂钩上面所产生的新平衡度的挂法都要加上前i-1个物品所产生的旧平衡度的挂法,方程有点儿麻烦,先不列了,放在下面的代码中好了……

特别鸣谢:翔哥zzxyyx_1

view code
posted on 2012-11-14 06:32 浅雨歌 阅读(121) 评论(0)  编辑 收藏 引用 所属分类: DP

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理