- 博客(44)
- 收藏
- 关注
原创 Vijos P1850 小朋友的数字(动态规划,最大子段和)
用s[i] 表示以 i 结尾的最大子区间连续和,则:s[i]=max(s[i-1]+a[i],a[i])
2016-08-29 16:14:20 539
原创 Vijos P1792 摆花(动态规划,背包)
因为花是要按顺序放的,将不同的数量看成是不同的物品,放或者不放,其实就成了01背包,最后求方案数做加法即可,要记得每次都要取模
2016-08-26 17:28:28 545
原创 Vijos P1347 乘积最大(动态规划,区间DP)
用动规可以将复杂的问题简单化,先考虑最简单的情况,没有乘号,有一个乘号,有多个乘号,一步步展开,问题也就慢慢解决了
2016-08-23 20:30:48 506
原创 Vijos P1312 能量项链(动态规划,环状DP,区间DP)
环状DP,也可以认为是区间DP,注意开始将环断开成链是可以从不同的位置断开的,最后要加上一个循环,枚举所有可能的情况并求出最大值
2016-08-23 17:26:45 1047
原创 Vijos P1407 古韵之刺绣(动态规划,01背包)
要特别注意题目中的文字描述,是单位体积的数值,另外花纹和布的体积要分别算,题目本身不难,简单的01背包
2016-08-21 11:45:03 684
原创 Vijos P1317 开心的金明(动态规划,01背包,NOIP)
所谓01背包,其实就是减去一定的开销,得到一定的收益,能理解f[j-v]+v*p,基本也就明白动规的基本原理了
2016-08-20 20:11:18 311
原创 Vijos P1037 搭建双塔(动态规划,二维背包)
循环体中,如果语句多,对时间也是有影响的。在时间和空间满足要求的情况下,还是更愿意也简单的代码,易实现,好理解,而且不太容易错
2016-08-20 15:48:14 329
原创 Vijos P1153 猫狗大战(动态规划,背包)
因为只要用到一半的人数,所以状态数组可以开到人数的一半,前i个人中是否有j个人能组成血格数k可以用f[i][j][k]表示,不过为了优化,之前计算的结果可以不用保存,这样只用f[j][k]的二维数组就行,前提当然是要倒序,以保证用到的是之前的计算结果
2016-08-19 16:07:34 903
原创 Vijos P1071 新年趣事之打牌(动态规划,背包,统计方案数)
状态转移方程中已经考虑了所有的方案数,所以只要将求最大值是的max换成sum,就可以实现方案数的统计。因为要输出未现在的牌的序号,所以另设数组c,记录当达到重量j时,所需要用的牌号
2016-08-19 14:55:39 866
原创 HDU 5835 Danganronpa
将n种礼物分配到一排桌子上,每个桌子上两种礼物,一个普通礼物,一个神秘礼物,相邻桌子上的普通礼物不能相同。问最多可以分配给多少个学生
2016-08-16 11:18:35 222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人