博弈论
SC.ldxcaicai
我很菜=_=
展开
-
2018.09.16 loj#10241. 取石子游戏 1(博弈论)
传送门 好像是某年的初赛题啊。 有个很显然的结论。 当nnn modmodmod (m+1)=0(m+1)=0(m+1)=0时后手必胜。 否则先手必胜。 代码: #include<bits/stdc++.h> using namespace std; int main(){ int n,k; cin>>n>>k; if(n...原创 2018-09-16 17:49:02 · 200 阅读 · 0 评论 -
2018.09.16 loj#10242. 取石子游戏 2(博弈论)
传送门 同样有一个显然的结论。 如果a1a1a_1 xorxorxor a2a2a_2 xorxorxor a3a3a_3 xor...xor...xor... xorxorxor anana_n为0那么后手胜。 否则先手胜。 这个可以用二进制的对称性来辅助思考。 代码: #include&lt;bits/stdc++.h&gt; using namespace std; int ...原创 2018-09-16 17:57:34 · 516 阅读 · 0 评论 -
2018.09.16 loj#10243. 移棋子游戏(博弈论)
传送门 题目中已经给好了sg图,直接在上面跑出sg函数即可。 最后看给定点的sg值异或和是否等于0就判好了。 代码: #include<bits/stdc++.h> #define N 2005 #define M 6005 using namespace std; int n,m,k,sg[N],first[N],First[N],du[N],cnt=0,ans=0; b...原创 2018-09-16 23:05:03 · 1052 阅读 · 0 评论 -
2018.09.25 poj2068 Nim(博弈论+dp)
传送门 题意简述:m个石子,有两个队每队n个人循环取,每个人每次取石子有数量限制,取最后一块的输,问先手能否获胜。 博弈论+dp。 我们令f[i][j]f[i][j]f[i][j]表示当前第i个人取石子,石子还剩下j个时能否获胜。 显然如果有取法让轮到第(i+1)(i+1)(i+1) modmodmod 2n2n2n 个人有必败状态,那么的当前就是必胜状态。 再令k=(i+1)k=(i+1)k=...原创 2018-09-25 10:16:42 · 213 阅读 · 0 评论