题解 P7188 [CRCI2008-2009] CVJETICI
点开题以为是毒瘤题,看完题发现是搞笑题。
可以发现长出来一个植物
写完发现过不了样例,然后意识到少看了一个条件,就是已经长出花的位置不会再长出来花。于是每次长出来新植物之后还要把
#include <bits/stdc++.h>
using namespace std;
int f[100005];
void Modify(int i, int w) {
for (; i <= 100000; i += i & -i) f[i] += w;
}
void Modify(int l, int r, int w) {
Modify(r + 1, -w); Modify(l, w);
}
int Query(int i) {
int res = 0;
for (; i; i &= i - 1) res += f[i];
return res;
}
int m;
int main() {
scanf("%d", &m);
while (m--) {
int l, r; scanf("%d%d", &l, &r);
int ql = Query(l), qr = Query(r);
printf("%d\n", ql + qr);
Modify(l + 1, r - 1, 1);
Modify(l, l, -ql);
Modify(r, r, -qr);
}
return 0;
}