更新中... http://poj.org/problem?id=1037 dp[i][j][0]表示序列长度为i,以j开始并且前两位下降的合法序列数目; dp[i][j][1]表示序列长度为i, 以j开始并且前两位上升的合法序列数目; 于是我们可以得到递推方程式:dp[i][j ...
红色表示已经A。 打星号的表示个人认为比较经典,或是算法比较好的题目 Dividing 半个背包,注意中断,否则可能TLE Gangsters 可以很水的DP过,还有多种优化的方法 Bugs Integrated, Inc.状态压缩 To the Max最大子矩形 枚举每个列数为n的矩阵,然后对这些矩阵分别进行DP处理 Human Gene Functions最长公共子序列拓展,此题不连续,注意初 ...
2012-11-14 13:34 0 4472 推荐指数:
更新中... http://poj.org/problem?id=1037 dp[i][j][0]表示序列长度为i,以j开始并且前两位下降的合法序列数目; dp[i][j][1]表示序列长度为i, 以j开始并且前两位上升的合法序列数目; 于是我们可以得到递推方程式:dp[i][j ...
链接: http://poj.org/problem?id=2282 题意: 给你一个区间a,b,问a到b之间每个数字出现了多少次 题解: 看过算法设计与分析的人都很熟悉这道题,毕竟是课后练习的第一道,感觉用数位dp比模拟更好理解啊 dp[pos][sta]表示到从最低位到第pos位 ...
题目链接【http://poj.org/problem?id=2955】 题意:[]、()的匹配问题,问一个[]()串中匹配的字符数,匹配方式为[X],(X),X为一个串,问一个长度为N(N<=100)串中最多的匹配字符个数。 思路:区间DP,dp[l][r]的意思是区间[l,r]的最大 ...
True Liars Time Limit: 1000MS Memory Limit: 10000K ...
题目:http://poj.org/problem?id=1417 题意:输入三个数m, p, q 分别表示接下来的输入行数,天使数目,恶魔数目; 接下来m行输入形如x, y, ch,ch为yes表示x说y是天使,ch为no表示x说y不是天使(x, y为天使,恶魔的编号,1<=x ...
Collecting Bugs Time Limit: 10000MS Memory Limit: 64000K ...
换根法思想为, 1,随便找一个点作为根进行dp, 2,再以原来点为根进行dp,此次dp,设最优解为 f[x],那么f[root]=d[root],这是显而易见的 然后再通过找d[son]与f[x]之间关系进行dp 比如本道题,若f[x]已知最优解,那么把son换成根,f[x]的最优解即为 ...
很典型的树形DP,自己也理解了好久,感觉自己好水哦。。。。。。。。。。。。。。。。。。。。。。。。。 所以讲得清楚一点,以后回忆起来也快 题意:一颗树,n个点(1-n),n-1条边,每个点上有一个权值,求从1出发,走V步,最多能遍历到的权值 我们把背包的思想用到这里来,做的步数相当于背包 ...