随笔分类 - 基础dp
摘要:Two strings HDU - 6170 题意:给两个串s和p,问是否能匹配。其中p里面有两个特殊字符,'.'可以匹配任意字符,'*'可以让前一个字符出现任意次。 dp~ 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 const in
阅读全文
摘要:之前一直比较恐惧dp的题,暑假之前好好从头补一下。 题目链接:HihoCoder - 1037 数字三角形 dp[i][j]表示到第i层第j个房间时累计收集到的最大值,从上到下记忆化搜索即可 状态转移:dp[i][j]=max(dp[i-1][j],dp[i-1][j-1])+m[i][j]; 1
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 来自:http://www.cnblogs.com/kuangbin/p/3228215.html
阅读全文
摘要:题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3956 以为01背包会了,稍微变形一下就认不出了。。。。。 将c作为背包体积,h作为价值 背包容量最大为500*100
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 多重背包:
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 01背包
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1078
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 题意:问矩阵p中最大的对称矩阵(对称轴是副对角线)边长是多大。 dp[i][j]是p[i][j]作为左下角时的最大对称矩阵 1 #include<cstdio> 2 #include<cstrin
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 其实也是最长递增子序列的问题。 按重量从小到大排序,找关于速度的最长递减子序列,并用pre数组记录前驱,最终存到vector里面输出路径。
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1260 dp[i]为到第i个人买完票花费的时间。 每次决策两种选择,自己买自己的或者前一个人替自己买。即 dp[i]=min(dp[i-2]+co[i-1],dp[i-1]+p[i]); 哈哈发现稍微做几
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176 每次决策三种情况取其最大(边界和初始状态特殊处理)。
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 参考别人的。 因为箱子可以翻转且要求严格递增,所以一个箱子可以当做三个箱子。 将箱子按长宽从大到小排序,就成了最长递增子序列问题。
阅读全文
摘要:题目链接:http://poj.org/problem?id=2533 dp[now]表示从头到当前位置 最长的递增子序列长度。 有两张决策,即含不含当前位置。 dp[now]=max(dp[last]+1,dp[now]) last<now且p[last]<p[now]
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1029 好像用不着动态规划。。。
阅读全文

浙公网安备 33010602011771号