洛谷 U41571 Agent2
题目背景
炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的。每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了。只有不咕鸟Lyn_king一个人冒着太阳等了半个多小时,然后居然看到连ENLIGHTENED行动参谋都咕咕咕了,果然咕咕咕是人类的本性啊。
题目描述
作为一个ENLIGHTENED行动指挥,自然不想看到这一点,于是他偷取到了那些经常咕咕咕的Agent的在下来NN天的活动安排表,并且叫上了你来整理。在整理过程中,ENLIGHTENED行动指挥对你说了MM条命令,命令操作如下。
- 输入$0$ $a$ $b$,这代表在第$a$天到第$b$天,有一名
Agent要咕咕咕。 - 输入11 aa,这代表
ENLIGHTENED行动指挥询问你根据目前的信息,在第aa天有多少名Agent会咕咕咕。
作为同是不咕鸟的你,也想要惩戒那些经常咕咕咕的人,所以,请协助完成ENLIGHTENED行动指挥完成整理,并且在他每次询问时,输出正确的答案。
输入输出格式
输入格式:
第一行输入两个整数输N,MN,M, 下来MM行,每行输入一个命令,命令格式见题目描述。
输出格式:
对于每一次询问的操作,都要输出询问的答案。答案之间用换行隔开。
输入输出样例
说明
对于20\%20%的数据 N,M \leq 10N,M≤10
对于40\%40%的数据 N,M \leq 10^3N,M≤103
对于60\%60%的数据 N,M \leq 10^5N,M≤105
对于100\%100%的数据 1 \leq a,b \leq N \leq 10^7,M \leq 4*10^51≤a,b≤N≤107,M≤4∗105
/*第一思路:线段树,数据范围是1e7感觉要mle,或许可以用树状数组搞一下
第二思路:前缀和维护差分序列,但最多支持10次询问,感觉也要gg*/
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
int tree[],num[];
int lowbit(int t){
return t&(-t);
}
void change(int x,int opt){
for(int i=x;i<=n;i+=lowbit(i))
tree[i]+=opt;
}
int query(int x){
int bns=;
for(int i=x;i>;i-=lowbit(i))
bns+=tree[i];
return bns;
}
int main(){
scanf("%d%d",&n,&m);
/*思路二 45分*/
/*for(int i=1;i<=m;i++){
int opt;scanf("%d",&opt);
if(opt==0){
int x,y;
scanf("%d%d",&x,&y);
num[x]+=1;num[y+1]-=1;
}
else if(opt==1){
int x;scanf("%d",&x);
for(int i=1;i<=x;i++)
sum[i]=sum[i-1]+num[i];
cout<<sum[x]<<endl;
}
}*/
/*思路一 100*/
for(int i=;i<=m;i++){
int opt;scanf("%d",&opt);
if(opt==){
int x,y;scanf("%d%d",&x,&y);
change(x,);
change(y+,-);
}
else if(opt==){
int x;scanf("%d",&x);
cout<<query(x)<<endl;
}
} }
洛谷 U41571 Agent2的更多相关文章
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
- 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.
没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- 洛谷P1710 地铁涨价
P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交 讨论 题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...
- 洛谷P1371 NOI元丹
P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交 讨论 题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...
- 洛谷P1538迎春舞会之数字舞蹈
题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...
- 洛谷八月月赛Round1凄惨记
个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...
- 洛谷 P1379 八数码难题 Label:判重&&bfs
特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给 ...
随机推荐
- Swiper插件轮播
<html><head> <meta charset="utf-8"> <title>Swiper轮播</title>& ...
- SCANF输入错误
while((a<=0||a>=10)||(b<=0||b>=10)) { fflush(stdin); cout<<" ...
- iOS地图----MapKit框架
1.MapKit框架使用前提 ①导入框架 ②导入主头文件 #import <MapKit/MapKit.h> ③MapKit框架使用须知 MapKit框架中所有数据类型的前缀都是MK Ma ...
- 批处理 reg add /?
C:\Users\Administrator>reg add /? REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [ ...
- 集成新版(5.17+)Activiti Modeler与Rest服务
声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/ ...
- lua 之 三木运算符
在c语言中我三目运算符这么写: a?b:c 例如: max = a>b?a:b; 在lua中我们这么写 max = a>b and a or b 运行如下:
- vs2019装了WDK后,编译其他vc工程,提示无法打开文件"msvcprtd.lib"
今天安装了vs2019,而后又安装了wdk,随便写了一个控制台测试程序,居然报错.网上也查了一圈,也没有得到解决.报错内容如下: MSB8038:已启用Spectre缓解,但找不到Spectre缓解库 ...
- Java IO(二)--RandomAccessFile基本使用
RandomAccessFile: 翻译过来就是任意修改文件,可以从文件的任意位置进行修改,迅雷的下载就是通过多个线程同时读取下载文件.例如,把一个文件分为四 部分,四个线程同时下载,最后进行内容拼接 ...
- php腾讯云短信验证码
腾讯云短信控制台:https://console.cloud.tencent.com/sms 腾讯云短信 PHP SDK:https://github.com/qcloudsms/qcloudsms_ ...
- 01Hibernate
Hibernate Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自 ...