随笔分类 - 算法竞赛 / 数据结构
数据结构使我大脑旋转
摘要:可持久化Trie--区间异或最值问题 应用:在 \(O(logn)\) 时间复杂度解决 查询区间 \([l,r]\) 内与数 \(x\) 异或的最大值。 插入操作:把 \(n\) 个整数插入 \(01Trie\),生成 \(n\) 个版本的可持久化树。 查询操作:利用前缀和与差分的思想,用两颗前缀
阅读全文
摘要:P3369 【模板】普通平衡树 题目链接 您需要动态地维护一个可重集合 \(M\),并且提供以下操作: 向 \(M\) 中插入一个数 \(x\)。 从 \(M\) 中删除一个数 \(x\)(若有多个相同的数,应只删除一个)。 查询 \(M\) 中有多少个数比 \(x\) 小,并且将得到的答案加一。
阅读全文
摘要:P5607 [Ynoi2013] 无力回天 线段树+线性基 题意: 给你一个长度为 n 的整数序列 \(a_1\), \(a_2\), \(\ldots\), \(a_n\) ,你需要实现以下两种操作,每个操作都可以用四个整数 \(opt\;l\;r\;v\) 来表示: \(opt=1\) 时,代表
阅读全文
摘要:P4839 P 哥的桶 线段树+线性基 题目链接 题意: 现在有 \(n\) 个桶,需要支持2种操作。 \(1\) \(k\) \(x\) :将一个价值为 \(x\) 的球放进 \(k\) 号桶。 \(2\) \(l\) \(r\) :求出在 \(l\) 号桶到 \(r\) 号桶之间拿球,价值异或和
阅读全文
摘要:P4301 [CQOI2013] 新Nim游戏 线性基 题目链接 题意: 两个人进行游戏,有 \(n\) 堆火柴,每堆有若干根,在第一个回合中,双方可以直接拿走若干个整堆的火柴,可以一堆不拿,但不可以全部拿走。接下来的回合进行 \(Nim\) 游戏。 现在你是先手,第一回合如何拿才能保证获胜,并且让
阅读全文
摘要:xor序列 线性基 题目链接 题意: 给你 \(n\) 个数,接着给你 \(m\) 次询问,每次给出 \(x\) 和 \(y\) ,判断 \(x\) 能否与 \(n\) 个数中任意选出的数异或和为 \(y\) 思路: 考虑异或运算性质 若 \(a\) ^ \(b\) = \(c\) , 那么 \(b
阅读全文
摘要:P4570 [BJWC2011] 元素 线性基 题目链接 题意: 给你每种矿石的编号和魔力值,你可以选择炼制一些矿石,如果一些矿石的编号异或和为0,那么该部分魔力值将为0。求出能够炼制的最大魔力值之和。 思路: 线性基+贪心。我们将每种矿石按照魔力值从大到小考虑,每次如果已经选过的矿石编号异或和不能
阅读全文
摘要:线性基模板 线性基是一种擅长处理异或问题的数据结构 可以O(logn)求出异或最值和异或k大值 支持插入和判断一个数 //线性基 LL p[65],d[65],tot=0; void rebuild(){ for(int i=63;i>=0;i--){ for(int j=i-1;j>=0;j--)
阅读全文

浙公网安备 33010602011771号