![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
-----博弈-----
cyl纤云弄巧
To Be
展开
-
HDU 1850 Nim博弈
Being a Good Boy in Spring Festival Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7546 Accepted Submission(s): 4606 Problem Descriptio原创 2017-06-27 17:24:03 · 277 阅读 · 0 评论 -
HDU 6105 博弈 ? 都是思维
博弈 ? 都是思维题意: Alice和Bob玩一个游戏,喷漆!现在有一棵树上边的节点最开始都没有被染色。 游戏规则:1. Alice和Bob只能选择未被染色的节点染色,Alice染色成白色,Bob为黑色 2. Alice最先开始 3. Bob有k次机会可以把树上的线段剪断 4. 最后树上有白色Alice胜利,否则是Bob胜利 思路: 先考虑Alice胜利的情况:Alice如果胜利原创 2017-08-11 18:48:39 · 425 阅读 · 0 评论 -
POJ 2484 简单博弈
简单博弈题意: 有n个硬币排列成一个圆环,现在玩一个游戏,两个人分别拿硬币,只能拿一个或者两个,两个的情况要求相邻。问谁最先没有硬币可拿就是谁输了。思路: 从必败态出发,寻找已经成定局的答案,考虑最后只剩两组硬币,那么当前人必输,为什么?可以从只剩两个不相邻的两个硬币看出来,无论当前者怎么拿,对方必胜,那么从n开始推导,无论Alice怎么拿,另一个人操作使得硬币保持两个组,那么Alice原创 2017-08-29 19:50:32 · 294 阅读 · 0 评论 -
POJ2348简单博弈
简单博弈题意: 有两个数字,现在两个人玩游戏,从Stan开始,a和b两个数字可以有一些操作,拿大的数字减去小的数字的倍数,当然不能出现负数,不能减去0,谁先减到0谁就胜。思路: 对于两个数字,假设b大,当b-a < a 的时候其实结果已经确定了,只需要知道谁最后减的就行,因为都只能减去小数的一倍,所以只需判断b%a == 0就行。而当b-a > a的时候,谁是现在的状态谁就胜,因为倍数可原创 2017-08-29 20:28:15 · 308 阅读 · 0 评论 -
POJ 2505 博弈SG打表
博弈SG打表题意: 两个人玩乘法游戏,每个人只能乘以2~9,谁先达到>=n谁胜,先手只能乘以1.思路: SG的: 除 任意一步所能转移到的子局面的SG值以外的最小非负整数。直接打表找到规律。#include <iostream> #include <cstdio> #include <cstring> #include <set>using namespace std;const int原创 2017-08-31 09:44:22 · 405 阅读 · 0 评论 -
HDU 2188 博弈 + sg打表
博弈 + sg打表 只要当前状态可以转移到的状态中有一个是败态,那么当前状态就是胜态。 如果当前状态可以转移到的所有状态都是胜态,那么当前状态就是败态。 题意: 两个人玩加法游戏,谁先加到>= n,谁胜利,每次每一个人只能加1~m区间的数字。 利用第二条性质,可以直接打出表。博弈真是一个妖怪!换了一道题,我竟然还用原来的方法,看来未得真谛,所以要多多思考,当前局面和必败局和必胜局的关系。原创 2017-08-31 10:33:51 · 282 阅读 · 0 评论 -
V - Digital Deletions HDU-1404
V - Digital Deletions HDU-1404题意: 给出一个不超过6位的数字(有可能会出现前导零),有两种操作:1. 更改某一位的数字比其原来的小 2. 如果某一位是0可以将其和之后的数字删除 例如:两个人在玩游戏,谁先操作到最后谁获胜。思路: 此题可以sg打表,利用最简单的性质:同样逆推局面推出胜态。用相反的操作,还原胜态。#include <iostream> #in原创 2017-10-19 11:12:15 · 281 阅读 · 0 评论