适合于快速的区间求和查询 较高的编程效率 优秀的算法....神一样的算法 以下是sample #include <iostream> using namespace std; long c[2000]; long m; //m就是数列有几个数,x是修改的数的下标,T是修改值 void update(int x,int t) { while(x<=m) { c[x]+=t; x+=x^(x&(x-1)); } } int query(int x) { if (x==0) { return 0; } int sum=0; while(x) { sum+=c[x]; x&=x-1; }return sum; } int main() { while(scanf("%ld",&m)!=EOF) { long i; for (i=1;i<=m;++i) { long t; scanf("%ld",&t); update(i,t); } long from,to; if (from>to) { swap(from,to); } scanf("%ld %ld",&from,&to); printf("%ld/n",query(to)-query(from-1)); } return 0; }