该文被密码保护。 阅读全文
posted @ 2017-10-20 12:47 Lweleth 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-07-12 11:25 Lweleth 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 结论题,这题关键在于如何转换环,可以用tarjan求出连通分量后再进行标记,也可以DFS直接找到环后把点的SG值变掉就行了 阅读全文
posted @ 2017-10-28 19:06 Lweleth 阅读(539) 评论(0) 推荐(0) 编辑
摘要: A 判断下5个名字出现了几次.pre数据巨弱,就这么一水题在std测刷掉了非常多的人.. B DP思维,记忆化搜索,前后缀什么的都可以.dp[i]['a'/'b']代表到第i个字符时,此时以a结尾和以b结尾的最大长度,也就是a~a和a~b两种串的长度,这样从后往前再扫一遍,合并统计一下取最大值.所以 阅读全文
posted @ 2017-10-25 21:15 Lweleth 阅读(379) 评论(0) 推荐(0) 编辑
摘要: $f(m)=\sum\limits_{i=1}^{m-1}\sum\limits_{j=1}^{m-1}[(ij,m) \ne m]$,$g(n)=\sum\limits_{m|n}f(m)$,$1 \le n \le 10^9$,求$g(n)$模$2^{64}$。 要求为$i j ∤ m$,说明$ 阅读全文
posted @ 2017-10-20 23:04 Lweleth 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 给出一个目标序列,初始序列为0,你有一种操作方式可以将某段值相同的区间全部加上一定的值,问得到目标序列的最小次数。 开始没注意要求值相同,想都不想就暴力了,后来发现对于每个峰,只要找每个相对峰顶的阶数相同的数中数字相同的个数,最后总数减掉相同的就行了。 说的这么复杂,后来才发现换成图形就是找最小覆盖 阅读全文
posted @ 2017-10-19 12:27 Lweleth 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 几何+博弈的简单组合技 给出n个圆,有包含关系,以这个关系做游戏,每次操作可以选择把一个圆及它内部的圆全部删除,不能操作者输。 圆的包含关系显然可以看做是树型结构,所以也就是树上删边的游戏。 而找圆的包含关系,这题数据不大可用n^2复杂度找。也可以用扫描线,实时记录其节点父亲的情况。3种情况分类讨论 阅读全文
posted @ 2017-10-18 21:38 Lweleth 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 找最深的圆,输出层数 类似POJ 2932的做法 圆扫描线即可。这里要记录各个圆的层数,所以多加一个维护编号的就行了。 阅读全文
posted @ 2017-10-18 20:19 Lweleth 阅读(412) 评论(0) 推荐(1) 编辑
摘要: 求n个圆中没有被包含的圆。模仿扫描线从左往右扫,到左边界此时如有3个交点,则有3种情况,以此判定该圆是否被离它最近的圆包含,而交点和最近的圆可以用以y高度排序的Set来维护。因此每次到左边界插入该圆,找该圆最近的两个圆(上方和下方)判断是否包含,到右边界则从Set中删除该圆。 阅读全文
posted @ 2017-10-18 18:45 Lweleth 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 给你n个数,问有几个区间满足,区间内或操作大于区间内的任意数。 首先可以知道,两数或操作的结果必定不会小于两者间的最大值,也就是说对于一个区间中,不合法的状态只有两值或相等。那么我们可以考虑枚举每个数,向左向右找到第一个或不相等的,那么该数对所有不合法区间的贡献就能找到了,所以与其找合法的区间不如容 阅读全文
posted @ 2017-10-17 00:36 Lweleth 阅读(834) 评论(0) 推荐(0) 编辑
摘要: 大意就是放n个硬币,每次放一个计算下这种情况下的操作次数,一个操作为从左到右扫描,如果一个硬币右边是空的,就将硬币后移,否则该次操作停止。 显然发现对于一个情况,我们只要考虑最右边的空位的左侧有几个硬币就行了.. 树状数组维护下前缀和就行了。 一开始就想到了树状数组,后面傻逼的觉得不用数据结构,每次 阅读全文
posted @ 2017-10-16 23:16 Lweleth 阅读(550) 评论(0) 推荐(1) 编辑
摘要: 多个子游戏同时进行,每个子游戏给出两个数a,b,可以将大的数减去k倍小的数,不能操作者输。 策略就是对于一个必胜的游戏要使得步数更长,对于一个必败的游戏使得步数最短。 以下都来自贾志豪的论文.. 对于Every-SG 游戏先手必胜当且仅当单一游戏中最大的step 为奇数。 阅读全文
posted @ 2017-10-16 23:10 Lweleth 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 如果我们规定当局面中所有的单一游戏的SG值为0时,游戏结束,则先手必胜当且仅当:(1)游戏的SG!=0 && 存在单一游戏的SG>1;(2)游戏的SG==0 && 任意单一游戏的SG==0。 阅读全文
posted @ 2017-10-16 22:59 Lweleth 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 翻硬币游戏,任意选3个,最右边的一个必须是正面。不能操作者败。 基本模型..不太可能自己推 还是老实记下来吧..对于单个硬币的SG值为2x或2x+1,当该硬币的位置x,其二进制1的个数为偶数时,sg=2x+1否则为2x LINK 阅读全文
posted @ 2017-10-16 22:56 Lweleth 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 长为n的一列格子,轮流放同种棋子,率先使棋子连成3个者胜。 可以发现每次放一个棋子后,后手都不能放在[x-2,x+2]这个区间,那么相当于每次放棋将游戏分成了两个,不能放棋者败。 暴力求SG即可 阅读全文
posted @ 2017-10-16 22:49 Lweleth 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 每次有n个盒子,每个盒子有容量上限,每次操作可以放入石头,数量为不超过当前盒子中数量的平方,不能操作者输。 一个盒子算一个子游戏。 对于一个盒子其容量为s,当前石子数为x,那么如果有a满足 $a \times a + a < s \land (a+1) + (a+1)^2 >= s$,那么可知此时的 阅读全文
posted @ 2017-10-16 22:45 Lweleth 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 两者间的间距就是可取石子数,因为对于行内黑白相连的局面该子游戏已经结束了因为此时不管先手再怎么移都是必败,SG=0的终止态 阅读全文
posted @ 2017-10-16 22:34 Lweleth 阅读(428) 评论(0) 推荐(1) 编辑
摘要: n个棋子,其中第k个是红色的,每个棋子只能往上爬,而且不能越过、重叠其他棋子,谁将红色棋子移到顶部谁赢。 由于只能往上爬,所以很像阶梯博弈。这题有2个限制,棋子不能重叠,有红棋存在 首先不考虑红色棋,那么我们可以视棋于棋间的距离为石子堆,这样棋子两两分组就是奇数堆,组与组间的距离就是偶数堆。 有个特 阅读全文
posted @ 2017-10-16 22:30 Lweleth 阅读(379) 评论(0) 推荐(0) 编辑
摘要: n堆石子,每次选取两堆a!=b,(a+b)%2=1 && a!=b && 3|a+b,不能操作者输 选石子堆为奇数的等价于选取步数为奇数的,观察发现 1 3 4 是无法再移动的 步数为0,然后发现以6为周期,取模就好了 阅读全文
posted @ 2017-10-16 22:08 Lweleth 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 一个拓扑结构的图,给定n个棋的位置,每次可以沿边走,不能操作者输。 已经给出了拓扑图了,对于每个棋子找一遍SG最后SG和就行了。 阅读全文
posted @ 2017-10-16 22:05 Lweleth 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 基本的树上删边游戏 写过很多遍了 阅读全文
posted @ 2017-10-16 22:01 Lweleth 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 普通NIM规则加上一条可以分解为两堆,标准的Multi-SG游戏 一般Multi-SG就是根据拓扑图计算SG函数,这题打表后还能发现规律 sg(1)=1 sg(2)=2 sg(3)=mex{0,1,2,1^2}=4 sg(4)=mex{0,1,2,sg(3)}=3 可以发现3和4的时候相当于互换了位 阅读全文
posted @ 2017-10-16 21:56 Lweleth 阅读(197) 评论(0) 推荐(0) 编辑