
DP
倚月听风
菜鸟
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ZOJ 3725 Painting Storages(DP解排列计数)
题意: n个格子排成一条直线,可以选择涂成红色或蓝色,问最少 m 个连续为红色的方案数。 解题思路: 应该是这次 ZOJ 月赛最水的一题,可惜还是没想到。。。 dp[i] 表示前 i 个最少 m 个连续为红色的方案数。 转移时,分类讨论: 1、前 i-1 个已经满足这个性质,那么,第 i 个随意涂色,方案数为 dp[i-1] * 2 。 2、前 i转载 2013-08-20 19:12:18 · 370 阅读 · 0 评论 -
hdu4632 Palindrome subsequence
注意到任意一个回文子序列收尾两个字符一定是相同的,于是可以区间dp,用dp[i][j]表示原字符串中[i,j]位置中出现的回文子序列的个数,有递推关系: dp[i][j]=dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1] 如果i和j位置出现的字符相同,那么dp[i][j]=dp[i+1][j]+dp[i][j-1]+1 ,注意边界特判一下就可以了 #include原创 2013-09-18 11:02:24 · 434 阅读 · 0 评论 -
hdu4639 Hehe
比较简单的dp,直接用dp[i]表示i个连续的he可能变成的不同句子数。 #include #include #include #include #include using namespace std; int a[10100]; void init() { int i; a[0]=1;a[1]=1; for(i=2;i<10100;++i)原创 2013-09-18 11:09:57 · 473 阅读 · 0 评论 -
uva 165 - Stamps
看了各种大神的代码后,终于知道怎么写了。 参考 http://blog.youkuaiyun.com/shuangde800/article/details/7755452 http://blog.youkuaiyun.com/jcwkyl/article/details/4137398 与第一个链接对应的两种解法 暴力 首先开一个数组stampVal【0...i】来保存各个面值,再开一个maxVal[0..原创 2013-11-29 21:46:30 · 547 阅读 · 0 评论