随笔分类 - 线段树(树状数组)
摘要:题目链接:http://poj.org/problem?id=3468典型的线段树问题,(插线问线)这题有两个易错点,占存点需要是(longlong )WA了好几次,关于选段树数组的大小一般N*6吧(关于这点我在poj上亲自测试了)代码: 1 #include 2 #include 3 4 typedef struct tree 5 { 6 int l,r; 7 long long sum; 8 long long ans; 9 }tree; 10 11 tree tree_list[600010]; 12 int a[100005]; 13 ...
阅读全文
摘要:#include#include#define N 1000010int c[N];int m = 0;int l(int n){ return n&(-n);}void add(int k,int num){ while(k>0) { c[k] += num; k -= l(k); }}int print(int k){ int sum = 0; while(k<m) { sum+=c[k]; k += l(k); } return sum;}int main(){ int n; memset(c,0,sizeof(c)); scanf("%d%d",
阅读全文
摘要:网上资源很多,百度一下你就知道代码:#include#include#define N 1000010int c[N],a[N];int n = 0;int l(int i){ return i&(-i);}void change(int i,int m){ int j; for(j = i; j 0) { s+=c[i]; i -= l(i); } return s;}int main(){ int m; scanf("%d%d",&n,&m); memset(c,0,sizeof(c)); int i; for(i =1 ; i <= n;
阅读全文

浙公网安备 33010602011771号