NYOJ 108 士兵杀敌(一)
2016-08-30 17:46
197 查看
题目链接
最基础的树状数组的题目,之前有写过,但是没几天就抛到了九霄云外,再写的时候就在网上找的模板,还简单看了一下输入的部分,才把模板套上,,看来模板也很重要啊,,因为自己理解了却还是写不出来,,即使写出来了,,也太容易就忘记了,,上代码,,用于以后参考吧。。不过这是最简单的树状数组一维模板,以后做到题再加以补充。。
借鉴模板链接
最基础的树状数组的题目,之前有写过,但是没几天就抛到了九霄云外,再写的时候就在网上找的模板,还简单看了一下输入的部分,才把模板套上,,看来模板也很重要啊,,因为自己理解了却还是写不出来,,即使写出来了,,也太容易就忘记了,,上代码,,用于以后参考吧。。不过这是最简单的树状数组一维模板,以后做到题再加以补充。。
借鉴模板链接
#include<iostream> #include<string.h> #include<queue> #include<stdio.h> #include<stack> using namespace std; int a[1000010]; int n,m,st,en; int lowbit(int x) { return x & (-x); } void modify(int x,int add)//一维 { while(x<=n) { a[x]+=add; x+=lowbit(x); } } int get_sum(int x) { int ret=0; while(x!=0) { ret+=a[x]; x-=lowbit(x); } return ret; } //模板部分,三个函数。。 int main() { int aa; scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) { scanf("%d",&aa); modify(i,aa); } for(int i=0;i<m;i++) { scanf("%d %d",&st,&en); //printf("%d\n",get_sum(en)); printf("%d\n",get_sum(en)-get_sum(st-1)); } return 0; }
相关文章推荐
- NYOJ 108 士兵杀敌(一) 解题报告
- NYOJ 题目108 士兵杀敌(一)
- NYOJ 108士兵杀敌(一)
- 士兵杀敌(一)(nyoj_108)
- NYOJ 108 士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ-108-士兵杀敌(一)
- NYOJ 【108】士兵杀敌 一 (线段树 + 模板题)
- [NYOJ - 108] 士兵杀敌(一)(线段树)
- NYOJ 108 士兵杀敌(一)
- nyoj108士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- NYOJ-108士兵杀敌(一)
- nyoj108士兵杀敌
- nyoj 108 士兵杀敌(一)
- NYOJ 108 士兵杀敌(一)
- 士兵杀敌(一)【NYOJ 108 线段树】
- 士兵杀敌(一) 【nyoj-108】【线段树】
- nyoj108——士兵杀敌(一)
- NYOJ108 士兵杀敌(一)(树状数组)