博弈
小囧子
成功注定是与饥寒相伴,与寂寞同行。
展开
-
暴力博弈的一些的题(不定时更新)
HDU 1517 A Multiplication Game(简单巴什博弈) 题意: 你和一个人玩游戏,给你一个数字n,每次操作可以从2~9中任选一个数字,并把它与p相乘,(游戏开始时p=1) 两人轮流操作,当一个人操作完后p>=n,这个人就是胜者。 解题思路: 由于每次都是从p=1开始的,所以只要判断每个游戏中1为必败点还是必胜点即可。(以下各式 / 均为取上整) 依照上面所提到的算原创 2017-05-28 21:45:47 · 291 阅读 · 0 评论 -
sg函数的一些题
模板1如下(SG打表): //f[]:可以取走的石子个数 //sg[]:0~n的SG函数值 //hash[]:mex{} int f[K],sg[N],hash[N]; void getSG(int n) { memset(sg,0,sizeof(sg)); for(int i=1; i<=n; i++) {原创 2017-06-04 20:49:59 · 580 阅读 · 0 评论 -
Gym 101246D Fire in the Country (dfs暴力博弈)
题意: 给定一个无向有环图,大火从1点开始,每个时间点与它相邻的点也将会着火,现在有两个人轮流操作机器人,机器人从1点出发,每个人每次选择一个点走,谁最后被火烧了谁就输了。 题解: 预处理很重要,先bfs求出每个节点开始着火的时间,然后直接dfs暴力博弈。 代码: #include using namespace std; typedef long long LL; const int原创 2017-06-25 20:19:46 · 360 阅读 · 0 评论