摘要: 题意:有n堆石子,两个人轮流取,每次只能取一堆的至少一个至多一半石子,直到不能取为止。判断先手是否必胜。分析:本题的关键就是求SG函数,可是直接分析又不太好分析,于是乎找规律。经过一番“巧妙”的分析,有这样一个规律:如果n是偶数,SG(n) = n / 2;如果n是奇数,SG(n) = SG(n /... 阅读全文
posted @ 2015-03-09 18:05 AOQNRMGYXLMV 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 把每一行m个数所有的素因子看做一堆,就把问题转化为n堆的Nim游戏。然后预处理一下10000以内每个数素因数的个数,再根据书上的Bouton定理,计算一下n行素因数个数的异或和。为0是先手必败局面,输出NO,否则输出YES 1 #include 2 #include 3 4 const int... 阅读全文
posted @ 2015-03-09 13:13 AOQNRMGYXLMV 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 因为题目要求同列相邻两格不同色,所以列与列之间不影响,可以逐列染色。如果一个格子的上面相邻的格子,已经被染色则染这个格子的时候,共有k-1中选择。反过来,如果一个格子位于第一列,或者上面相邻的格子是不能被染色的格子,则共有k中选择。虽然,矩阵的行数不定,但至少为所有不能被染色格子行标的最大值m。分别... 阅读全文
posted @ 2015-03-09 06:46 AOQNRMGYXLMV 阅读(235) 评论(0) 推荐(0) 编辑