随笔分类 -  算法竞赛 / 数据结构

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