题目描述

给定一个长度为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:

  1. 5
  2. 4
  3. x 3 8
  4. y 1 3
  5. x 4 9
  6. y 3 4
输出样例#1:

  1. 8
  2. 17
  3.  
  4. 线段树版题
    区间求和
    单点修改
    屠龙宝刀点击就送
  1. #include <iostream>
  2. #include <cstdio>
  3.  
  4. using namespace std;
  5.  
  6. #define Max 200000
  7. struct node
  8. {
  9. int l,r,dis;
  10. }tree[Max*];
  11. int t=,n,w;
  12. char cz;
  13. void up(int k)
  14. {
  15. tree[k].dis=tree[k<<].dis+tree[k<<|].dis;
  16. }
  17. void build(int l,int r,int k)
  18. {
  19. tree[k].l=l;tree[k].r=r;
  20. if(l==r)
  21. {
  22. tree[k].dis=;
  23. return;
  24. }
  25. int mid=(l+r)>>;
  26. build(l,mid,k<<);
  27. build(mid+,r,k<<|);
  28. up(k);
  29. }
  30. void add(int to,int v,int k)
  31. {
  32. if(tree[k].l==tree[k].r)
  33. {
  34. tree[k].dis+=v;
  35. return;
  36. }
  37. int mid=(tree[k].l+tree[k].r)>>;
  38. if(to<=mid) add(to,v,k<<);
  39. else add(to,v,k<<|);
  40. up(k);
  41. }
  42. int ans=;
  43. void query(int u,int v,int k)
  44. {
  45. if(tree[k].l==u&&tree[k].r==v)
  46. {
  47. ans+=tree[k].dis;
  48. return ;
  49. }
  50. int mid=(tree[k].l+tree[k].r)>>;
  51. if(mid>=v) query(u,v,k<<);
  52. else if(mid<u) query(u,v,k<<|);
  53. else query(u,mid,k<<),query(mid+,v,k<<|);
  54. }
  55. int main()
  56. {
  57. scanf("%d",&n);
  58. build(,n,);
  59. scanf("%d",&w);
  60. int u,v;
  61. while(w--)
  62. {
  63. cin>>cz;
  64. scanf("%d%d",&u,&v);
  65. if(cz=='x')
  66. add(u,v,);
  67. else if(cz=='y')
  68. {
  69. ans=;
  70. query(u,v,);
  71. printf("%d\n",ans);
  72. }
  73. }
  74. return ;
  75. }

洛谷 P2068 统计和的更多相关文章

  1. 洛谷——P2068 统计和

    P2068 统计和 题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=1000 ...

  2. 洛谷P2068 统计和

    题目描述 给定一个长度为\(n(n \leq 100000)\),初始值都为\(0\)的序列,\(x(x \leq 10000)\)次的修改某些位置上的数字,每次加上一个数,然后提出\(y (y \l ...

  3. 洛谷P2068 统计和题解

    题目描述 给定一个长度为n(n<=100000),初始值都为0的序列,x(x<=10000)次的修改某些位置上的数字,每次加上一个数,然后提出y (y<=10000)个问题,求每段区 ...

  4. AC日记——统计和 洛谷 P2068

    统计和 思路: 水题: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 int n,m,tree ...

  5. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  6. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  7. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  8. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  9. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

随机推荐

  1. Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子

    4. Flexpaper简单使用 通过上面三章的内容,大家对Flexpaper.SWFTools应该有大概的了解了,SWF文件也已经生成了,我们开始进入Flexpaper的使用的介绍. 本章中只演示F ...

  2. spark学习之IDEA配置spark并wordcount提交集群

    这篇文章包括以下内容 (1)IDEA中scala的安装 (2)hdfs简单的使用,没有写它的部署 (3) 使用scala编写简单的wordcount,输入文件和输出文件使用参数传递 (4)IDEA打包 ...

  3. 【WIP】LaTex入门

    创建: 2018/06/15 说明: 这鸟东西实在没什么用的感觉,无奈学校报告要用这个写.无奈抽点时间学一下.                    

  4. 零基础配置Linux服务器环境

    详细步骤请走官方通道 over!over!over!

  5. lightoj1047 【简单线性DP】

    因为写不出hdu3401...好像要用单调队列优化...这边水了一个... 题意: 给n个房子涂色,给出n个房子对应颜色的花费,问涂完所有颜色花费最少. 保证相邻房子颜色不能相同. 思路: dp[i] ...

  6. OPENGL4_变换

    几种变换的几何意义说明 http://blog.csdn.net/onafioo/article/details/22094247 变换的执行顺序问题 正常顺序 1 视图(观察)变换 2 模型变换 3 ...

  7. MongoDb 创建用户以及其他版本造成的一些问题

    问题:require auth data to have schema version 3 but found 1 这是可以查看如下链接: http://stackoverflow.com/quest ...

  8. 题解 P1162 【填涂颜色】

    看到题目规模是n(1≤n≤30)即最大规模为30*30 本蒟蒻有个奇妙的想法!! 核心思路:搜索地图内除开被1包围着的0,并标注为1(即不填色) !!!那么,我们可以从每一个边界点开始去搜索 话不多说 ...

  9. H - String painter

    #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> ...

  10. 最短路之SPFA(单源)HDU 1317

    #include <iostream> #include<cstdio> #include<cstring> #include<cmath> #incl ...