题目描述

给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=10000)个问题,求每段区间的和。时间限制1秒。

输入格式

第一行1个数,表示序列的长度n

第二行1个数,表示操作的次数w

后面依次是w行,分别表示加入和询问操作

其中,加入用x表示,询问用y表示

x的格式为"x a b" 表示在序列a的位置加上b

y的格式为"y a b" 表示询问a到b区间的加和

输出格式

每行一个数,分别是每次询问的结果

输入输出样例

输入 #1复制

5
4
x 3 8
y 1 3
x 4 9
y 3 4

输出 #1复制

8
17

解析:

模板题目
树状数组1模板
支持单调修改,区间查询

上代码吧

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<cstring>
 5 #include<string>
 6 #include<algorithm>
 7 #include<iomanip>
 8 #include<cstdlib>
 9 #include<queue>
10 #include<set>
11 #include<map>
12 #include<stack>
13 #include<vector>
14 #define re register
15 #define Max 210000
16 #define D double
17 #define gc getchar
18 inline int read()
19 {
20     int a=0;int f=0;char p=gc();
21     while(!isdigit(p)){f|=p=='-';p=gc();}
22     while(isdigit(p)){a=a*10+p-'0';p=gc();}
23     return f?-a:a;
24 }
25 int c[Max]={0},n,m;char ch;
26 int lowbit(int x)
27 {
28     return x&-x;
29 }
30 void add(int x,int k)
31 {
32     for(;x<=m;x+=lowbit(x)) c[x]+=k;
33 }
34 int query(int x)
35 {
36     int ans=0;
37     for(;x;x-=lowbit(x)) ans+=c[x];
38     return ans;
39 }
40 int main()
41 {
42     m=read();n=read();int l,r;
43     for(re int i = 1 ; i <= n ; ++ i) {
44         std::cin>>ch;l=read(),r=read();
45         if(ch=='x') add(l,r);
46         if(ch=='y') printf("%d\n",query(r)-query(l-1));
47     }
48     return 0;
49 }

AC 代码

转载于:https://www.cnblogs.com/handsomegodzilla/p/11295538.html

洛谷P2068 统计和题解相关推荐

  1. 洛谷——P2068 统计和

    https://www.luogu.org/problem/show?pid=2068#sub 题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000) ...

  2. 洛谷P1816 忠诚 题解

    洛谷P1816 忠诚 题解 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人 ...

  3. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  4. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  5. 洛谷P2108学英语题解

    来我的博客里拥有更好的阅读体验:https://yyxi.ml/2020/07/23/luogu-p2108-xueyingyu/ 洛谷P2108学英语题解(c++) 题目描述 代码.思路 踩过的坑 ...

  6. 洛谷 P1077 摆花 题解

    洛谷 P1077 摆花 题解 洛谷 P1077 题目 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共mmm盆.通过调查顾客的喜好,小明列出了顾客最喜欢的nnn种花,从1到nnn标号.为 ...

  7. 修改数组(洛谷P7285题题解,C++语言描述)

    题目要求 P7285题目链接 分析 这题虽然是红题,但是因为很有趣且是 Special Judge ,所以写篇题解. 乍一看,这题好麻烦啊,要综合考虑xxx和yyy,达到x−yx-yx−y的最优化. ...

  8. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  9. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

最新文章

  1. c语言俄罗斯方块注释,C语言学习1年-俄罗斯方块(无注释)
  2. HDU 3537 Daizhenyang's Coin
  3. 目前我国负债超过100万的大概有多少人?
  4. 洛谷 P2040 打开所有的灯-dfs
  5. 哈希表数据结构_算法与数据结构-哈希表
  6. 证监会依法对4宗案件作出行政处罚
  7. linux open函数解释,linux之open函数解析
  8. 51Nod-1004 n^n的末位数字【快速模幂】
  9. Unity3d--第三人称摄像机常用控制
  10. delphi acropdf打印多个pdf_将多个PDF文件整合成一个文件
  11. 魔方机器人之下位机编程----串口接收数据并解析
  12. openldap备份与还原
  13. arcgis for android 调用公网天地图注记重影问题
  14. 实景三维模型修补水面方法汇总及对比(DPmodeler、模方等)
  15. 【Rust日报】 2019-05-02
  16. uva10066-双塔
  17. 艾永亮:疯传的秘密,一个手表如何一夜之间席卷全校?(下)
  18. 使用UE4开发VR项目_性能优化(二)_思路和方法
  19. 64位 window 在notepad++中添加HexEditor工具
  20. android 屏幕没反应了,手机屏幕失灵了怎么办?安卓手机屏幕失灵解决方法

热门文章

  1. DevExpress ChartControl大数据加载时有哪些性能优化方法
  2. c标签 if else
  3. Excel导入sqlserver
  4. Dom Tree Node, Render Tree Node 结构
  5. Asp.net 2.0 制作复合控件示例(二)[示例代码下载]
  6. 多线程编程之死锁已经死锁产生的原因
  7. 开源开放是人工智能发展主要趋势之一
  8. 从入门到高阶,读懂机器学习需要哪些数学知识
  9. 华科研究生复试机试题代码堆积供以后参考
  10. java ssl证书生成_java – 使用jdk中提供的keytool生成SSL证书