随笔分类 -  数论 博弈论

摘要:题目链接 题目大意:给定n个最大公约数为1的整数,两个人轮流进行操作,每次操作可以选一个大于1的数使其减1,然后所有的数再除以当前的最大公约数(如3 6 10对10操作后得到1 2 3),当其中一个人无法操作时,输掉比赛,求获胜的是先手还是后手。先手输出First,后手输出Second。 分析: 我 阅读全文
posted @ 2017-09-27 08:13 Child-Single 阅读(506) 评论(0) 推荐(0)
摘要:其实这道题本质上也是取石子问题,那么我们还是可以用博弈论来解决。 首先还是特判,若(n>=m)直接输出从n到m的所有整数即可。 然后作进一步分析,可以看到如果目前的竞价是m-(n+1),也就是说离m还有n+1的距离,那么此时轮到竞拍的人必输,所以要尽量给对手这样的点。 同样的,当i*(n+1)<m< 阅读全文
posted @ 2017-06-06 23:11 Child-Single 阅读(150) 评论(0) 推荐(0)
摘要:这道题就是noi.openjudge.cn上的取石子问题,之前是用搜索写的,但今天发现用博弈论的思路来写会简单非常非常多! 首先,如果m>=n,那么第一个人必胜。 那么如果现在剩下m+1个石子,那么接下来那个人无论取1到m中任意一个数字的石子数,都无法取完石子并会剩下1-m个石子,这样的话下一个人一 阅读全文
posted @ 2017-06-06 22:49 Child-Single 阅读(237) 评论(0) 推荐(0)