摘要:
题目链接 #解题思路 splay的模版题,首先先把l-1这个位置的结点splay到根,然后再把r+1这个位置的结点splay到l-1的下面,那么r+1的左子树就是区间l到r,然后用懒标记来交换子树中每个节点的左右儿子即可 const int maxn = 1e5+10; int n, m; stru 阅读全文
摘要:
题目链接 #题目大意 询问区间出现次数为偶数的数的异或和。 #解题思路 求所有数的前缀异或和,再用线段树离线求出所有询问区间的不同数的异或和。 int n, m, a[maxn]; int sum[maxn]; vector<P> q[maxn]; int tr[maxn<<2], ans[maxn 阅读全文
摘要:
题目链接 #解题思路 一开始想着体积和重量开大点枚举比v和m大的部分,结果各种超时。。。其实可以就按v和m枚举,枚举到0,减成负数就取0,也能表示超过v和m的情况。 #代码 const int maxn = 1e3+10; const int maxm = 1e5+10; int n, v, m, 阅读全文