随笔分类 - 线性基
摘要:题意:给你一个数组,有两种操作,一种区间xor一个值,一个是查询区间xor的结果的种类数 做法一:对于一个给定的区间,我们可以通过求解线性基的方式求出结果的种类数,而现在只不过将其放在线树上维护区间线性基。 用线段树去维护区间合并 #include <bits/stdc++.h> using nam
阅读全文
摘要:https://www.luogu.org/problem/P4839 题目: 有两个操作 1 a b 在a的位置添加b数值 (注意一个位置可以有多个值) 2 a b : 在 a到b的范围任取任意的数值相异或,结果最大。 分析:用线段树去维护这个操作合并线性基的操作;时间复杂度O(nlogmlogx
阅读全文
摘要:hdu6579 题意初始时有n个数,现在有q次操作: 查询[l,r]内选择一些数使得异或和最大;在末尾加入一个数。题目强制在线。 思路对于i我们记录[1,i]每个基底最靠近i的位置和这个位置的值,然后查询时看r 这个位置记录的每个基底的位置是否大于等于l,如果大于等于那么[l,r] 内一定有一个位置
阅读全文
摘要:资料出处:https://blog.csdn.net/a_forever_dream/article/details/83654397 https://blog.csdn.net/qaq__qaq/article/details/53812883 基础操作: 定义设数集T的值域范围为[1,2n−1]
阅读全文