问题 D: 清点人数

时间限制: 1 Sec  内存限制: 128 MB
提交: 94  解决: 16
[提交][状态][讨论版][命题人:quanxing][Edit] [TestData]

题目链接:http://acm.ocrosoft.com/problem.php?cid=1688&pid=3

题目描述

初始时,火车上没有学生;当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能有同学上下。年级主任走到第m节车厢时,他想知道第1到m这m节车厢上一共有多少学生,但是他没有调头往回走的习惯.也就是说每次当他提问时,m总会比前一次大。

输入

第一行两个整数n,k,表示火车共有n节车厢以及k个事件。接下来有k行,按时间先后给出k个事件,每行开头都有一个字母A,B或C,如果字母为A,接下来是一个数m,表示年级主任现在在第m节车厢;如果为B,接下来两个数m,p,表示在第m节车厢有p名学生上车;如果为C,接下来两个数m,p,表示在第m节车厢有p名学生下车。学生总人数不会超过100000。

注意:对于30%的数据,n<=10000,k<=10000 至少有3000个A
对于100%的数据n<=500000,k<=100000. 至少有30000个A

输出

有多少个A就输出多少行,每行一个整数,回答年级主任提出的问题。

样例输入

10 7A 1B 1 1B 3 1B 4 1A 2A 3A 10

样例输出

0123

思路:数组数组模板题,输入用scanf(“%s”,&ch),不然会卡时间,但我也不知道为什么

代码:

#include<bits/stdc++.h>using namespace std;#define maxn 1000000int A[maxn], C[maxn];int n, m;int lowbit(int t)//t转换为二进制后,有末尾连续0共k个,返回2^k次方{return t & -t;}void add(int x, int y)//单点修改{for (int i = x; i <= n; i += lowbit(i)){C[i] += y;}}int sum(int x)//区间求和{int ans = 0;for (int i = x; i > 0; i -= lowbit(i)){ans += C[i];}return ans;}int main(){char ch[2];int a, b, mm;scanf("%d %d", &n, &m);//getchar();while (m--){scanf("%s", &ch);//getchar();if (ch[0] == 'A'){scanf("%d", &mm);printf("%d\n", sum(mm));}else if (ch[0] == 'B'){scanf("%d %d", &a, &b);add(a, b);}else{scanf("%d %d", &a, &b);add(a, -b);}}}

问题 D: 清点人数相关推荐

  1. vijos 清点人数

    背景 NK中学组织同学们去五云山寨参加社会实践活动,按惯例要乘坐火车去.由于NK中学的学生很多,在火车开之前必须清点好人数. 描述 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出 ...

  2. 【树状数组】清点人数

    题目描述 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能有同学上下.年级主任走到第m节车厢时,他想知道第1到m这m节车厢上一共有多少学生, ...

  3. BNUOJ34980方(芳)格(哥)取数(好坑)

    方(芳)格(哥)取数 Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class n ...

  4. 【python开源项目】推荐一款prize万能抽奖小工具发布

    请确保您的电脑安装了python和pip工具,下面使用pip安装并使用rxq工具. 第一步 安装与使用 prize 打开任意终端或者CMD pip install prize #或者这个:pip in ...

  5. 计算机应用基础计算配置教案,[定稿]计算机应用基础教案_Windows_XP版V8.1(全文完整版)...

    <[定稿]计算机应用基础教案_Windows_XP版.doc>由会员分享,可免费在线阅读全文,更多与<[定稿]计算机应用基础教案_Windows_XP版(V8.1)>相关文档资 ...

  6. python足球射门小游戏_足球射门游戏教案

    足球射门游戏教案 [篇一:足球射门游戏教案] 足 球 游 戏 教 案 任课教师: 张旭 授课班级: 初二( 1 ) 班 第 1 次 课 上课时间: 2008-12-1 人数: 50 男( 30 ) 女 ...

  7. 线性表 - 数据结构和算法06

    线性表 让编程改变世界 Change the world by program 感受线性表的存在 各位鱼油大家好,从今天开始小甲鱼带大家开始学习第一个数据结构:线性表 先让我我们通过图片来感受一下,线 ...

  8. 曝光!衡中教室高清摄像头记录:不想一辈子吃苦,就必须闻鸡起舞!(转给学生)...

    记得衡中学霸齐培轩曾透露过,衡中的学生都高度自律,自习课上,如果想趁机偷懒走神,在本子上画画或者写点无关紧要的东西,根本逃不过教室的高清摄像头. >>>> 一旦被抓,违纪名单就 ...

  9. 计算机第二课堂教学计划,小学的第二课堂教学计划

    小学的第二课堂教学计划 开展内容丰富,形式多样的第二课堂活动,通过活动,使学生受到爱国主义及道德情感教育,掌握技能,全面提高他们的素质,使其成为全面发展的一代新人.下面是小编分享给大家的小学的第二课堂 ...

最新文章

  1. python3版本代码大全_python3中的
  2. UVA227 Puzzle
  3. 在线机房改造类项目建设难点的研究
  4. 高质量的期货研究报告去哪里找?
  5. Facade(外观模式)
  6. 分享几个益智题......看你能做对吗?
  7. pytorch学习笔记(3):常用网络层介绍
  8. 计算机组成原理 中央处理器(CPU) 指令系统
  9. jquery 获取元素图片_【jQuery】获取图片真实宽高
  10. 浅谈PHP-FPM参数
  11. eviews7.2pojie版-eviews7.2附使用教程
  12. Windows 7 7601.24291(2019版) 全补丁集成版ISO映像,编译于2018年11月10日
  13. Windows.ScreenToClient
  14. css3优惠卷上方锯齿_CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式
  15. 数据结构与算法之美-问题与思考收集
  16. go 连接服务器 并存放图片_[本站大事件] 又更换服务器了 – 小文's blog
  17. java定时自动关机软件
  18. 软件测试工程师自我介绍范文_软件测试面试自我介绍
  19. Google AutoValue详解
  20. (sdau) Summary of the fourth week.

热门文章

  1. 增益自适应PI控制器+死区过滤器(Smart PLC向导PID编程应用)
  2. Andriod微信小程序自动化测试
  3. 计算机寸出,电脑显示器长31cm宽23cm是多少寸?
  4. html2canvas生成放大图片
  5. 冲激函数与卷积的多次邂逅
  6. 骁龙778g相当于麒麟多少
  7. 再现地表最强屏幕,三星Note 9破11项纪录称皇
  8. VC++6.0显示代码行号【成功破解行数显示限制,完全免费!!!】
  9. “三天打鱼两天晒网问题
  10. Python @装饰器