随笔分类 - 数学-博弈论
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2563题意:给一个n个加权点m条加权边的无向图,两个人轮流拿走一个点,最后使先手得分-后手得分尽量大。一个人的得分等于拿到的点的点权和+边的两个端点在这个点集的边的边权和。(nusing namespa...
阅读全文
摘要:A.题意:求去掉d物品后容量为e最大背包。每个物品有三种属性,权值、容量、数量。#include using namespace std;const int V=1000, N=1005;void zop(int *d, int w, int v) { for(int i=V; i>=v; --i)...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1115题意:n堆石子,个数是从左到右单增。每一次可以从任意堆取出任意石子,但要保持单增这个性质。问先手是否必胜(nusing namespace std;int n, a[1005];int main(...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2147题意:n×m的棋盘,每次可以向左走、向下走、向左下走,初始在(1, m),n,musing namespace std;int main() { int n, m; while(scanf("%d%d", &...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1517题意:每次乘上2~9。。p>=n时赢..#include #include #include using namespace std;typedef long long ll;map h;ll n;bool ...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1850题意:同nim...顺便求方案数...#include #include using namespace std;int a[105];int main() { int n; while(scanf("%d"...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1536题意:同nim...多堆多询问...单堆n#include using namespace std;bool b[105];int s[105], f[10005];int main() { int k, m...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1848题意:同nim,3堆,每次取的为fib数,n#include using namespace std;int f[1005], a[100];bool b[20];int main() { a[1]=1; a...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1847题意:同nim..不过只有一堆..每次取2的幂次..即1、2、4....等,n#include using namespace std;int f[1005];int dfs(int n) { if(n==0...
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1846题意:二人博弈,1堆石子每次取1~m个,没有石子可取的输,输出先手胜利还是后手胜利。#include using namespace std;int main() { int c; scanf("%d", &...
阅读全文
摘要:http://uoj.ac/contest/6/problem/51题意:给m(m≤105)个询问,每次给出a,b(ab≤n,n≤109),对于每一组a,b,双人博弈,每次可以给a加1或给b加1,要求每次操作后ab≤n。不能操作的...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2463好神的证明!首先对于n是偶数,一定能被1*2的骨牌覆盖!所以从起点开始,先手一定走的是骨牌的另一端,后手一定走的是骨牌的前一端,因此无论何时,先手总是可以走。因此先手必胜。如果n是奇数,那么去掉一...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1022好神的博弈论。题解见dzy的blog:http://dzy493941464.is-programmer.com/posts/39629.htmlorz题目1:有n堆石子,第i堆有A(i)颗石子。...
阅读全文
摘要:直接搜索即可。。。注意不要爆栈。。所以我们可以分块搜索。。。然后太懒且太弱我就不写了。。。orz hzwerhttp://hzwer.com/4954.html【问题描述】moreD和moreD的宠物CD正在玩一个日历游戏,开始时,他们从1900年1月1日到2012年12月22日(你懂的……)选一个...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2017这题太神了,我想了一个中午啊原来是看错题一直没理解题解说的,一直以为题解是错的QAQ“开始玩游戏时,第一个玩家可以从堆顶拿走一枚或两枚硬币”果然还是太弱我们发现,每一个阶段都由上一个玩家决定的,即...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2101这个dp真是神思想orz设状态f[i, j]表示i~j先手所拿最大值,注意,是先手所以转移自然而然的变成f[i, j]=sum[i, j]-min(f[i+1, j], f[i, j-1])这个转...
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3404写挫好几次。。。。裸的博弈论即可。。#include #include #include #include #include #include #include using namespace s...
阅读全文
摘要:http://poj.org/problem?id=2234博弈论真是博大精深orz首先我们仔细分析很容易分析出来,当只有一堆的时候,先手必胜;两堆并且相同的时候,先手必败,反之必胜。根据博弈论的知识(论文 张一飞:《由感性认识到理性认识——透析一类搏弈游戏的解答过程》)局面可以分解,且结果可以合并...
阅读全文