问题 D: 清点人数
问题 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: 清点人数相关推荐
- vijos 清点人数
背景 NK中学组织同学们去五云山寨参加社会实践活动,按惯例要乘坐火车去.由于NK中学的学生很多,在火车开之前必须清点好人数. 描述 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出 ...
- 【树状数组】清点人数
题目描述 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能有同学上下.年级主任走到第m节车厢时,他想知道第1到m这m节车厢上一共有多少学生, ...
- BNUOJ34980方(芳)格(哥)取数(好坑)
方(芳)格(哥)取数 Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class n ...
- 【python开源项目】推荐一款prize万能抽奖小工具发布
请确保您的电脑安装了python和pip工具,下面使用pip安装并使用rxq工具. 第一步 安装与使用 prize 打开任意终端或者CMD pip install prize #或者这个:pip in ...
- 计算机应用基础计算配置教案,[定稿]计算机应用基础教案_Windows_XP版V8.1(全文完整版)...
<[定稿]计算机应用基础教案_Windows_XP版.doc>由会员分享,可免费在线阅读全文,更多与<[定稿]计算机应用基础教案_Windows_XP版(V8.1)>相关文档资 ...
- python足球射门小游戏_足球射门游戏教案
足球射门游戏教案 [篇一:足球射门游戏教案] 足 球 游 戏 教 案 任课教师: 张旭 授课班级: 初二( 1 ) 班 第 1 次 课 上课时间: 2008-12-1 人数: 50 男( 30 ) 女 ...
- 线性表 - 数据结构和算法06
线性表 让编程改变世界 Change the world by program 感受线性表的存在 各位鱼油大家好,从今天开始小甲鱼带大家开始学习第一个数据结构:线性表 先让我我们通过图片来感受一下,线 ...
- 曝光!衡中教室高清摄像头记录:不想一辈子吃苦,就必须闻鸡起舞!(转给学生)...
记得衡中学霸齐培轩曾透露过,衡中的学生都高度自律,自习课上,如果想趁机偷懒走神,在本子上画画或者写点无关紧要的东西,根本逃不过教室的高清摄像头. >>>> 一旦被抓,违纪名单就 ...
- 计算机第二课堂教学计划,小学的第二课堂教学计划
小学的第二课堂教学计划 开展内容丰富,形式多样的第二课堂活动,通过活动,使学生受到爱国主义及道德情感教育,掌握技能,全面提高他们的素质,使其成为全面发展的一代新人.下面是小编分享给大家的小学的第二课堂 ...
最新文章
- python3版本代码大全_python3中的
- UVA227 Puzzle
- 在线机房改造类项目建设难点的研究
- 高质量的期货研究报告去哪里找?
- Facade(外观模式)
- 分享几个益智题......看你能做对吗?
- pytorch学习笔记(3):常用网络层介绍
- 计算机组成原理 中央处理器(CPU) 指令系统
- jquery 获取元素图片_【jQuery】获取图片真实宽高
- 浅谈PHP-FPM参数
- eviews7.2pojie版-eviews7.2附使用教程
- Windows 7 7601.24291(2019版) 全补丁集成版ISO映像,编译于2018年11月10日
- Windows.ScreenToClient
- css3优惠卷上方锯齿_CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式
- 数据结构与算法之美-问题与思考收集
- go 连接服务器 并存放图片_[本站大事件] 又更换服务器了 – 小文's blog
- java定时自动关机软件
- 软件测试工程师自我介绍范文_软件测试面试自我介绍
- Google AutoValue详解
- (sdau) Summary of the fourth week.