上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 42 下一页
摘要: 思路:三维Nim积 代码: 阅读全文
posted @ 2018-09-25 12:50 KirinSB 阅读(382) 评论(0) 推荐(1) 编辑
摘要: 题意:在一个二维平面中,有n个灯亮着并告诉你坐标,每回合需要找到一个矩形,这个矩形xy坐标最大的那个角落的点必须是亮着的灯,然后我们把四个角落的灯状态反转,不能操作为败 思路:二维Nim积,看不懂啊,只能套模板了 参考:HDU 3404 Switch lights (NIM 积) 代码: 阅读全文
posted @ 2018-09-25 11:56 KirinSB 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 题意:有a,b两个数字,两人轮流操作,每次可以选择两个之中较小的数字,然后另一个数字减去选择数字的任意倍数(不能减到负数),直到其中一个为0,不能操作为败 思路:这题用博弈NP思想,必败点和必胜点之间的转化。 我们假设当前状态为(x,y)其中x>=y,那么必有以下任一状态: 1. x < 2 * y 阅读全文
posted @ 2018-09-24 23:10 KirinSB 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 题意:n个城市,初始能量c,进入i城市获得a[i]能量,可能负数,去i+1个城市失去b[i]能量,问你能不能完整走一圈。 思路:也就是走的路上能量不能小于0,尺取维护l,r指针,l代表出发点,r代表当前走到的点,维护一个sum。和工程的题一模一样啊。 代码: 阅读全文
posted @ 2018-09-23 22:16 KirinSB 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题意:n堆石头,拿走最后一块的输 思路:SJ定理:先手必胜当且仅当:(1)游戏的SG函数不为0且游戏中某个单一游戏的SG函数大于1;(2)游戏的SG函数为0且游戏中没有单一游戏的SG函数大于1。 参考:【博弈】Anti,Multi,Every-SG 代码: 阅读全文
posted @ 2018-09-21 22:31 KirinSB 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个石子堆,每一个都可以轮流做如下操作:选一个石堆,移除至少1个石子,然后可以把这堆石子随便拿几次,随便放到任意的其他石子数不为0的石子堆,也可以不拿。不能操作败。 思路:我们先来证明,如果某个石子数有偶数堆,则先手必败,因为无论先手怎么做,后手都能模仿先手,最后把石子取光。显然全是偶数堆是 阅读全文
posted @ 2018-09-20 23:06 KirinSB 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个一维棋盘,有格子标号1,2,3,......有n个棋子放在一些格子上,两人博弈,只能将棋子向左移,不能和其他棋子重叠,也不能跨越其他棋子,不能超越边界,不能走的人输 思路:可以用阶梯博弈来做。 那么先简单讲一下阶梯博弈: 有一个x阶阶梯,每一阶都有一定数量的石头,每次只能把某一阶梯上任意 阅读全文
posted @ 2018-09-19 23:39 KirinSB 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个有向图,然后个m颗石头放在图上的几个点上,每次只能移动一步,如果不能移动者败 思路:dfs打表sg函数,然后求异或和 代码: 阅读全文
posted @ 2018-09-19 15:17 KirinSB 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 题意:给一端n块的板,两人玩,每次能涂相邻两块没涂过的板,不能涂的人为输,先手赢输出yes 思路:sg函数打表,练习题 代码: 阅读全文
posted @ 2018-09-18 00:11 KirinSB 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题意:已知异或和为0为必败态,异或和不为0为必胜态,问你有几种方法把开局从当前状态转为必败态。 思路:也就是说,我们要选一堆石头,然后从这堆石头拿走一些使剩下的石碓异或和为0。那么只要剩下石堆的异或和小于选中石堆的大小,那么肯定能从选中石堆中找出一定数目和剩下的石堆异或后归零。 代码: 阅读全文
posted @ 2018-09-16 23:12 KirinSB 阅读(215) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 42 下一页