摘要:
1 /* 2 段改求点 3 用树状数组维护差分数组 4 因为a[i]=d[1]...d[i] 5 所以用差分数组的化就很好进行查询操作 6 至于区间修改,因为[x,y]区间内加上k的操作对差分数组造成的改变只有d[x]和d[y+1] 7 直接用树状数组的基本操作给加上就好了 8 */ 9 #incl 阅读全文
posted @ 2020-02-03 22:52
greenofyu
阅读(119)
评论(0)
推荐(0)
摘要:
改点求段 1 #include<iostream> 2 using namespace std; 3 const int N=5e5+100; 4 int n,m; 5 int a[N]; 6 int c[N]; 7 int lowbit(int x) 8 { 9 return x&(-x); 10 阅读全文
posted @ 2020-02-03 19:53
greenofyu
阅读(152)
评论(0)
推荐(0)
摘要:
开局一张图,剩下全靠编。 对于树状数组,我的理解是有技巧的应用前缀和+神仙一般的二进制规律 1、改点求段 改点从下往上,将全部包括了这个点的c全部更改 1 int lowbit(int x) 2 { 3 return x&(-x); 4 } 1 void add(int x,int y)//将第x个 阅读全文
posted @ 2020-02-03 19:52
greenofyu
阅读(119)
评论(0)
推荐(0)
摘要:
1 #include<iostream> 2 using namespace std; 3 const int N=4e5+100; 4 struct edge 5 { 6 int from; 7 int to; 8 int nex; 9 }; 10 edge a[N]; 11 int head[N 阅读全文
posted @ 2020-02-03 16:11
greenofyu
阅读(174)
评论(0)
推荐(0)
浙公网安备 33010602011771号