传送门
线段树区间修改傻题
#include <cstdio> #include <cstring> #include <iostream> #define N 50001 #define root 1, 1, n #define ls now << 1, l, mid #define rs now << 1 | 1, mid + 1, r int n, m, q, res; int ans[16][N << 2], sum[16][N][2], add[16][N << 2]; char s[N]; //sum[i][j]表示第i列前j个中0的个数 inline int read() inline void build(int id, int now, int l, int r) int mid = (l + r) >> 1; build(id, ls); build(id, rs); ans[id][now] = ans[id][now << 1] + ans[id][now << 1 | 1]; } inline void push_down(int id, int now, int l, int r) } inline void update(int id, int now, int l, int r, int x, int y, int c) push_down(id, now, l, r); int mid = (l + r) >> 1; if(x <= mid) update(id, ls, x, y, c); if(mid < y) update(id, rs, x, y, c); ans[id][now] = ans[id][now << 1] + ans[id][now << 1 | 1]; } int main() } for(i = 1; i <= m; i++) build(i, root); memset(add, 1, sizeof(add)); while(q) return 0; }
上一篇:[BZOJ2287]【POJ Challenge】消失之物(DP)
下一篇:【模板】AC自动机
线段树









