摘要: 首先我们假设只有两堆, 容易发现当且仅当两堆相等时,先手必败 否则先手必胜 然后我们猜测一下原因: ->当两堆相等时,无论先手怎么做,后手总能使两堆相等,且必败态为0,0 推广一下: 当所有的石子堆可以两两配对且配对的两两相等时,先手必败 否则先手必胜 证明一下: 1、当出现两两可以配对且相等的情况 阅读全文
posted @ 2016-03-29 21:46 _Vertical 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 首先我们不难看出如果存在一个异或和为0的子集,那么先手必胜,否则先手必败 证明如下: 1、首先如果至少存在一个异或和为0的子集,那么一定存在一个异或和为0的子集使得选取之后剩下的数的任意子集异或和不为0 2、假设我们已经选取了一个异或和为0的子集,无论后手怎么做,我们总是有办法使得当前选取的子集异或 阅读全文
posted @ 2016-03-29 21:40 _Vertical 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 当时做比赛的时候听说过这类用KD_Tree维护的数据结构题 然后知道是KD_Tree,然而并不知道怎么写QAQ 比赛完了之后%了一发代码 其基本思路是这样的: 1、首先我们把询问[L,R]看成二维平面上的点,那么对于任意修改[p,p] 当且仅当p>=L&&p<=R时会对答案有影响 对应到二维平面就是 阅读全文
posted @ 2016-03-29 17:47 _Vertical 阅读(384) 评论(1) 推荐(1) 编辑
摘要: 点进去发现并不是博弈QAQ 一开始考虑单调队列什么乱七八糟的发现根本做不出来 (没错我一直在想枚举最大值求次大值QAQ 不妨换个思路: 我们考虑枚举次大值求最大值 设当前为now, 设now之前第一个比他大的数的位置为L1,L1之前第一个比他大的数的位置为L2 设now之后第一个比他大的数的位置为R 阅读全文
posted @ 2016-03-29 16:21 _Vertical 阅读(393) 评论(0) 推荐(1) 编辑
摘要: 块状树裸题 块状树: 首先对树进行分块,分出的每一块都是一个连通块 通常的分块的方式如下: 1、父亲所在块不满,分到父亲所在块中 2、父亲所在块满,自己单独开一个块 (貌似有更为优越的分块方式? 注意这是不严格的分块,即每个块的大小不一定都是设定的阈值blo 对于这道题,首先修改和添加直接块内暴力就 阅读全文
posted @ 2016-03-29 15:46 _Vertical 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 好神的一道题目 某只萌萌哒神犇给我安利了一发 首先如果没有删除,我们会做,因为这是裸的线性基 那么对于任意的时间,我们只需要知道有多少个数且这些数是什么就可以维护线性基了 我们考虑对时间搞出一颗线段树 对于任意的数,其存在的时间是一段区间,那么我们就可以在线段树上做区间覆盖 可以证明,在打标记的情况 阅读全文
posted @ 2016-03-29 15:36 _Vertical 阅读(496) 评论(0) 推荐(0) 编辑
摘要: Em 很长很长很啰嗦的题目 大意就是给定一个字符串,求有多少子序列关于某条对称轴对称,且子序列不连续 首先我们不考虑不连续这个限制 那么对于任意对称轴我们只需要求出关于该对称轴对称的字符有多少个 设其为C[i]个,那么这条对称轴产生的贡献是2^C[i]-1 容易发现对称的实质是对于任意点i 存在A[ 阅读全文
posted @ 2016-03-29 15:27 _Vertical 阅读(245) 评论(2) 推荐(1) 编辑