随笔分类 -  D1动态规划

摘要:看起来noip特别喜欢考这种思维题== 题意:有n家客栈,每家客栈有一个颜色和一个花费。给定最大允许花费,选择两家颜色相同的客栈,问有多少种选择方式使得两家客栈之间至少有一家花费允许的最大值的客栈 可以想到一些 n² 甚至 n³ 的方法,但显然不足以满足所有数据 考虑对于每一家客栈,从右往左扫描,找 阅读全文
posted @ 2017-08-18 21:43 Vincent_hwh 阅读(182) 评论(0) 推荐(0)
摘要:现在也就只能写这种水题了。。 题目链接 容易想到对于每个位置,有两种来源: 从同一棵树的上方1米跳下来/从其他树上方del米跳下来 用f[i][j]表示高度为i,第i棵树的最优解 f[i][j]=num[i][j]+max(f[i+1][j],f[i+del][k]) O(n^2*h) 考虑空间换时 阅读全文
posted @ 2017-04-18 12:12 Vincent_hwh 阅读(220) 评论(0) 推荐(0)
摘要:题目 将N分为若干个不同整数的和,问有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种。由于数据较大,输出Mod 10^9 + 7的结果即可。 很容易想到01背包,由于要求每个整数都不同,故每个整数就可以看作物品 f[i][j]表示在1~i的整数中选择若 阅读全文
posted @ 2017-04-17 22:04 Vincent_hwh 阅读(176) 评论(0) 推荐(0)
摘要:题目链接 题意 n分钟跑步,每分钟可以跑步或休息 疲惫值的上限为m 若跑步,第i分钟可以跑Di米,增加一单位疲惫值 若休息,恢复一单位疲惫值,但必须恢复到疲惫值为0才能继续跑步 跑步结束时疲惫值必须为0 求最远可以跑的距离 分析 dp f[i][j]表示第i分钟,疲惫值为j的最远距离 f[i][j] 阅读全文
posted @ 2016-12-06 17:03 Vincent_hwh 阅读(279) 评论(0) 推荐(0)
摘要:题目大意 给一块长为n的木板,切成四块围成一个四边形,求有几种方案 分析 1.构成四边形的条件:三边之和大于第四边,故每条边不超过n/2; 2.总的方案数,可从最后一条边考虑起,最后一条边有多少种情况,再依次加上前面得出的结果 该问题具有无后效性,故可用动规解决 转移方程 f[i][j]表示划分到第 阅读全文
posted @ 2016-12-06 16:12 Vincent_hwh 阅读(163) 评论(0) 推荐(0)