hdu4597 Play Game】的更多相关文章

//Accepted 1784 KB 78 ms //区间dp //dp[l1][r1][l2][r2] 表示a数列从l1到r1,b数列从l2到r2能得到的最大分值 // #include <cstdio> #include <cstring> #include <iostream> using namespace std; ; int dp[imax_n][imax_n][imax_n][imax_n]; int n; int a[imax_n],sa[imax_n]…
Play Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 54 Accepted Submission(s): 36 Problem Description Alice and Bob are playing a game. There are two piles of cards. There are N cards in eac…
转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=4597 题意 Alice和Bob玩一个游戏,有两个长度为N的正整数数字序列,每次他们两个    仅仅能从当中一个序列,选择两端中的一个拿走.他们都希望能够拿到尽量大    的数字之和,而且他们都足够聪明.每次都选择最优策略.Alice先选择,问 终于Alice拿到的数字总和是多少? Problem Description…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597 感觉很不错的区间DP,又做了一遍,感觉自己对边界的处理还是很欠缺 代码: #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> using namespace std; #define maxn 21 int sum1[maxn]; int sum2[maxn]; i…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597 全国邀请赛通化赛区第8题--题目重现 思路: 区间DP的思想,想法是队友想出来的,感觉很秒,自己处理的边界,果断AC 边界处理很重要!! 对于两列牌.我们定义f[x][y][k][h]表示对于当前状态中第一列牌处于区间(i,j),第二列牌处于区间(k,h)时,先手(即当前要选择牌的选手)和后手之间的最大差值 定义sum1[x][y][k][h]表示先手的在此区间的获得的分数的最大值,sum2[…
我之前做过一些博弈的题目,以为博弈都是DP,结果被坑了很多次,其实博弈有很多种,在此,把我见过的类型都搬上来. 1,HDU3951(找规律) 题意:把n枚硬币围成一个圆,让Alice和Bob两个人分别每人每次拿k(1<=k<=m)枚连续的硬币,谁能拿到最后谁赢: 思路:找规律,A拿了之后,B只要把剩下的分成偶数块,B就能赢,找到的规律就是除了m=1 && n&1是A赢,其余全是B赢,即B能够分成偶数块: #include <cstdio> #include…