
动态规划(水题)
lkbsbird
这个作者很懒,什么都没留下…
展开
-
hdu 1503
题意:给定两个字符串,合并成一个字符串,合并成的这个字符串同时也能分解成原来的两个字符串。 解析:使用DP(LCS最长公共子序列),使用标记,不同的状态,用不同的标记,将公共的字符输出一次即可。 #include #include #include #include using namespace std; const int maxn=1009; int dp[maxn][maxn]; in原创 2016-07-12 17:05:11 · 374 阅读 · 0 评论 -
hdu 2955
题意:有几组测试用例,第一个小数,表示抢劫犯被抓的概率p,第二个数N表示下面有N个银行,下面N行,每行第一个数表示银行有多少钱,第二个数表示能抓住抢劫犯的概率。求在不被抓住的情况下能抢到最多的钱 解析:求反概率,即不被抓住的概率 #include #include #include #include using namespace std; const int maxn=10009; floa原创 2016-07-15 11:14:11 · 231 阅读 · 0 评论 -
hdu 2191
Input 输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1 Output 对于每组测试数据,请输出能够购买大米的最多重量,你可以假设经费买不光所有的大米,并且经费你可以不用完。每个实例的输出占一行。 Sample Input 1 8 2 2 100 4 4 100 2 Sample Output 400#inc原创 2016-07-15 16:33:21 · 350 阅读 · 0 评论 -
hdu 1423(最长公共上升子序列)
#include #include #include #include using namespace std; const int maxn=1009; int a[maxn]; int b[maxn]; int dp[maxn]; int t,n,m; int main() { scanf("%d",&t); getchar(); while(t--) {原创 2016-07-16 09:06:36 · 308 阅读 · 0 评论