
树状数组
wzf_2000
这个作者很懒,什么都没留下…
展开
-
【bzoj3529】[Sdoi2014]数表
题意:略 考虑没有a限制 然后对于询问按a从小到大排序,f(x)从小到大插入,每次询问分块,查询g(T)的前缀和用树状数组维护,插入f(x)的值时暴力插即可 #include #define gc getchar() #define N 100009 #define ll long long #define mod (1ll<<31ll) using namespace std;原创 2017-01-15 18:32:47 · 288 阅读 · 0 评论 -
【BZOJ4822】 [Cqoi2017]老C的任务
此题本来是一个很好的二维线段树模板题,然而居然卡空间(至少洛谷上是的)。 以下是二维线段树写法(大概70分): #include #define gc getchar() #define N 100009 #define M 16000009 #define mp make_pair #define pb push_back #define sz(x) (int)x.size() #defi原创 2017-05-07 14:25:22 · 513 阅读 · 0 评论 -
【Codeforces587E】Duff as a Queen
题意: 区间异或一个数,区间询问能异或出几个数。线性基应该有个性质,里面有nn个数,就可以异或出2n2^n个数。 然后如果暴力O(log2n)O(log^2n)合并两个线性基,似乎区间异或会炸。 然后你差分一下,就变成单点加了。然后再写一个树状数组支持单点查询ll位置的值就好了。#include <bits/stdc++.h> #define N 200009 #define T 32 #de原创 2017-09-27 08:03:14 · 1026 阅读 · 0 评论