动态规划(dp)
fadedsun
从质疑自己,到坚定梦想.
展开
-
数塔—动态规划
数塔(dp_基础)在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如上所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗? Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行原创 2017-04-14 11:29:29 · 880 阅读 · 0 评论 -
hdu3555 Bomb (秒懂的数位dp)
The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence of the time bomb counts from 1 to N. If the current number sequence incl原创 2017-08-09 20:31:25 · 821 阅读 · 7 评论 -
hdu_2546_饭卡(01背包)
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Input多组数据。对于每组数据: 第一行为正整数n,表示菜原创 2017-12-11 16:57:50 · 228 阅读 · 0 评论 -
多重背包二进制优化
时间长不写代码,感觉变菜了。整体优化思路和快速幂很相近如果第i个物品有num[i]个,花费是 c[i] , 价值是 v[i] 那么我们可以把它拆分成数个物品。比如141 2 4 7就可以把14个相同物品看成 4 个不同的物品,但是他们在一起可以组成1-14,所以只要对这四个物品跑0-1背包得到的答案就是对的# include <cstdio># include...原创 2019-08-05 17:02:34 · 84 阅读 · 0 评论