摘要: "题意" 考虑点分治,每次处理过重心的询问(即两点在重心的不同子树中)。 求出每个点到重心的线性基,之后对过重心的询问合并两点线性基求解。 code: 阅读全文
posted @ 2019-12-12 21:18 nofind 阅读(163) 评论(0) 推荐(1) 编辑
摘要: "题意" 线性基套上树上倍增即可,注意边界。 code: 阅读全文
posted @ 2019-12-12 19:24 nofind 阅读(152) 评论(0) 推荐(0) 编辑
摘要: "题意" 前置题目: "P4151 [WC2011]最大XOR和路径" 线段树分治维护边集,用可撤销的并查集维护生成树和每个点到根的异或和,线性基查最小值。 code: 阅读全文
posted @ 2019-12-12 18:20 nofind 阅读(199) 评论(0) 推荐(0) 编辑
摘要: "题意" 神仙哈希做法。 随便找个生成树,给每个非树边赋一个值,树边的值为所有覆盖它的边的值得异或和。 删去边集使得图不联通当且即当边集存在一个子集异或和为0,可以用线性基。 ~~证明的话好像画个图挺显然的~~ upd: 找到了一份 "详细的证明" code: 阅读全文
posted @ 2019-12-11 21:14 nofind 阅读(179) 评论(0) 推荐(0) 编辑
摘要: "题意" 这题有点神啊。 首先考虑注意这句话: 也就是说如果出现下面的情况: 我们可以通过异或上这个环的权值而不异或上$w$,于是这启示我们答案必定是 一条链带上好几个环 。 现在考虑选哪条$1$到$n$链: 其实任意选一条即可,见下图: 假设我们选了红的那条,而答案是选蓝色的那条,那么显然可以通过 阅读全文
posted @ 2019-12-11 20:01 nofind 阅读(143) 评论(0) 推荐(0) 编辑
摘要: "题意" 虽然没用线段树,但是仍然是线段树分治的思想。 考虑分治询问序列,假设当前在$[l,r]$,我们将$[1,l 1]$和$[r+1,Q]$的与$[l,r]$内不重复的边都连上了。 先将$[mid+1,r]$中与$[l,mid]$不重复的边都连上,之后递归$[l,mid]$,再将之前的操作撤销, 阅读全文
posted @ 2019-12-11 19:09 nofind 阅读(173) 评论(0) 推荐(0) 编辑
摘要: "题意" 一个图是二分图当且仅当不存在长度为奇数的环。 先假设边只会出现不会消失: 对于新出现的边$(u,v)$,假如$u,v$原来不联通,那么连上也不会出现环,现在考虑$u,v$联通: 假如$u,v$之间的长度为偶数,那么必定出现奇环,否则直接无视这条边,因为假设之后有一条边能和这条边(长为1,是 阅读全文
posted @ 2019-12-11 18:10 nofind 阅读(131) 评论(0) 推荐(0) 编辑
摘要: "题意" 显然商店编号的限制能用可持久化trie解决。 特殊的商品预先判掉就好了,现在只考虑普通的商品。 发现商品的时间是单点,询问时一段时间,于是将询问区间在线段树上拆成$log$个区间,分别放上该询问。 之后dfs整颗线段树,先计算当前节点上的询问,之后将商品按照出现时间是在中点左右分成两类递归 阅读全文
posted @ 2019-12-11 16:22 nofind 阅读(167) 评论(0) 推荐(0) 编辑
摘要: "题意" 考虑一个操作会对一段时间内的询问产生影响,于是将线段树上的这段时间打上乘这个数的标记,最后dfs整颗线段树。 code: 阅读全文
posted @ 2019-12-11 10:58 nofind 阅读(190) 评论(0) 推荐(0) 编辑
摘要: upd 2019.12.10 latex和markdown化 "题意" 解析: 先考虑暴力:将每个区间求出来,放进一个堆里,取出前k个就是答案。 期望得分:20,原因:TLE code(对,我真写了): 阅读全文
posted @ 2019-12-10 11:43 nofind 阅读(152) 评论(0) 推荐(0) 编辑