题目名称 | 2651. 新史「新幻想史 -现代史-」 |
---|---|
输入输出 | cdcq_a.in/out |
难度等级 | ★★★ |
时间限制 | 2000 ms (2 s) |
内存限制 | 256 MiB |
测试数据 | 20 |
题目来源 | cdcq 于2017-04-07加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:17, 提交:35, 通过率:48.57% | ||||
fjzzq2002 | 100 | 1.033 s | 8.35 MiB | C++ |
rewine | 100 | 1.153 s | 9.09 MiB | C++ |
zltttt | 100 | 1.414 s | 17.10 MiB | C++ |
Candy? | 100 | 1.417 s | 17.86 MiB | C++ |
confoo | 100 | 2.136 s | 11.74 MiB | C++ |
AntiLeaf | 100 | 2.346 s | 2.69 MiB | C++ |
Ironk | 100 | 2.683 s | 10.14 MiB | C++ |
Ironk | 100 | 2.707 s | 10.14 MiB | C++ |
kiiiiii | 100 | 2.739 s | 3.15 MiB | C++ |
__stdcall | 100 | 3.152 s | 6.36 MiB | C++ |
本题关联比赛 | |||
cdcqの省选膜你赛 |
关于 新史「新幻想史 -现代史-」 的近10条评论(全部评论) | ||||
---|---|---|---|---|
出题人你的exCDQ是什么鬼,这题不是裸分治么……
| ||||
Albert S. Chang
2017-04-13 20:34
10楼
| ||||
我太垃圾。跑的飞慢。
| ||||
回复 @FoolMike :
我去还能这么玩....
沉迷学习的假的Keller
2017-04-12 20:34
8楼
| ||||
cdcq
2017-04-12 19:31
7楼
| ||||
写这道题的同学注意,原题难度是-233,写了这道题之后你的积分会掉700左右,千万不要重评,我自己重评了两次掉了1400积分……
FoolMike
2017-04-12 18:34
6楼
| ||||
回复 @_Itachi :
HA的 | ||||
大力线段树卡内存过去了,罪过罪过
scpointer
2017-04-12 12:25
4楼
| ||||
想知道出题人是哪个省的
_Itachi
2017-04-12 08:40
3楼
| ||||
幻想♂乡
sxysxy
2017-04-07 17:52
2楼
|
题目解释:
所有整数都是正整数
新添一组大样例
题目最下面的咒语使用似乎会ce,请勿使用
已添加一句话题意
第i个时刻开始的时候会继承第i-1个时刻的状态
为了使题意更加容易理解,样例已更新
慧音也想要退治妖怪!
在某次异变中,慧音要退治排成一列的n个妖怪,作为"吞食历史的半兽",慧音会使用符卡"新史「新幻想史 -现代史-」"修改过去的历史来让一段区间内的妖怪力量减少,同时因为历史被改变了,所以会有另一段区间的妖怪力量增强(一个妖怪的力量改变后,这个效果会一直持续到后面的时刻)。为了让修改历史的效果最稳定,慧音还想知道在过去的某个时刻一段区间中所有妖怪的妖力和是多少,每个时刻慧音只会发出一条指令。
战斗持续了m个时刻,由于慧音还要集中精力发射头槌弹幕,所以她请你来帮忙解决她的询问。
(没有进行任何操作的时刻为0时刻
关于时间线的说明:
如果有以下操作:询问1->修改->询问2,询问的目标时刻相等,修改的目标时刻小于等于询问的目标时刻,则询问1不会受到修改的影响,而询问2会
如果有以下操作:询问1->修改->询问2,询问的目标时刻相等,修改的目标时刻大于询问的目标时刻,则两个询问都不会受到修改的影响
特别提醒:
比赛进行中请尽量不要进行有关时间线或世界线的伦理思考
一句话题意:
有一个长度为n的整数序列,共m个时刻,在每个时刻都有一个操作,如果是询问操作则询问指定时刻一段区间的和,如果是修改操作则使修改指定时刻到当前时刻的所有时刻一段区间全部增加一个数,另一段区间全部减少一个数
第一行两个整数n,m,意义如上
接下来一行n个整数,第i个整数ai表示第i个妖怪的妖力
接下来m行,第i行表示第i个时刻的指令,首先一个字符c,如果c为'Q',接下来三个用空格隔开的整数x,y,z,表示询问第z个时刻区间[x,y]中所有妖怪的妖力和,如果c为'M',接下来七个整数x,y,z,l,r,v,t,表示在第t个时刻,区间[x,y]中所有妖怪的妖力减少了z,区间[l,r]中所有妖怪妖力增加了v
输入数据中一行中的所有整数和字符用空格隔开
对于每个M操作,输出一行一个值表示查询的结果
5 5
1 2 3 4 5
Q 1 3 0
M 1 2 1 2 3 2 1
Q 1 3 0
Q 1 3 1
Q 1 3 3
6
6
8
8
12 12
20755 32646 15599 16925 29509 29411 31544 19290 25477 30085 4973 21417
M 8 11 32373 4 7 2615 1
Q 7 7 0
M 8 10 32317 12 12 1710 3
M 4 5 28846 2 7 6548 4
Q 9 11 4
Q 12 12 4
Q 5 11 2
M 6 10 32331 6 7 1272 8
M 2 11 17117 4 9 19679 9
M 4 5 21667 4 5 13394 5
M 8 10 11508 9 11 30783 11
Q 8 9 6
31544
-101218
23127
48642
-84613
第1个时刻,慧音询问第0个时刻[1,3]这个区间的妖力和,显然答案为6
第2个时刻,慧音使第1个时刻[1,2]的妖力减少1,[2,3]的妖力增加2
现在第1个时刻和第2个时刻的妖力序列都是0 3 5 4 5,而第0个时刻的妖力序列依旧是1 2 3 4 5
之后的两次询问就是在第0个时刻[1,3]的妖力和和第1个时刻[1,3]的妖力和,显然答案分别为6和8
数据标号 | n,m | ai,v,z | ex |
1 | <=50 | <=10^5 |
|
2 | <=500 | ||
3 | |||
4 | |||
5 | |||
6 | |||
7 | <=5000 | 只有Q操作 | |
8 | |||
9 |
|
||
10 | |||
11 | |||
12 | |||
13 | |||
14 | |||
15 | <=50000 | 只有Q操作 | |
16 | |||
17 |
|
||
18 | |||
19 | |||
20 | |||
对于所有数据,保证查询和修改的目标时刻在进行操作的时刻或进行操作的时刻之前;数据有梯度 |