树状数组
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 · 272 阅读 · 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 · 490 阅读 · 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 · 1001 阅读 · 0 评论