
博弈论
WINDZLY
我不知道最后会得到什么样的结果,但我知道不努力我什么也得不到
展开
-
hdu 1846 Brave Game
博弈论的一道入门题 当n < m的时候一定是第一个人赢; 当n > m的时候我们可以进行分解为n = (m + 1) * r + s; 当s == 0;那么一定是第二个人赢,因为无论第一个人如何拿,第二个人总是会给对方留下(m + 1)的倍数;最终一定是第二个人获胜; 所以可以推出谁拿的时候是 (m + 1)的倍数,那么他就会输掉; 代码如下 #include <...原创 2018-09-19 15:14:44 · 270 阅读 · 0 评论 -
poj 1067 取石子游戏
博弈论 遇到奇异对盘时那么先拿着必输; 不知道奇异对决的点 这里 #include <iostream> #include <cmath> typedef long long ll; using namespace std; int judge(int a,int b) { int k; k = fabs(a - b); a = m...原创 2018-09-19 20:31:56 · 158 阅读 · 0 评论 -
hdu 1848Fibonacci again and again
博弈论,SG函数最后就行nim就行 #include <bits/stdc++.h> #define maxn 1005 typedef long long ll; using namespace std; ll f[maxn]; ll s[maxn]; ll SG[maxn]; void sg(int n) { for(int i = 1; i <= n...原创 2018-09-21 00:00:52 · 281 阅读 · 0 评论