A.Hello World!
Description
为保证所有参赛人员在比赛中都能拿到分数,本题只考察c++的输出。
算法比赛不仅考察思考问题的能力,也需要一定的细心程度。
直接输出" HelI0 Wor1d!!" ,您将获得此题的全部分数。
Input
本题无输入
Output
输出" HelI0 Wor1d!!"
Sample Input 1
无
Sample Output 1
HelI0 Wor1d!!
Hint
复制
B.A+B问题
Description
给定两个正整数
a
a
a、
b
b
b,请求出
a
+
b
a+b
a+b
注意:仅本题禁用python
Input
输入一共两行
第一行为正整数
a
a
a
第二行为正整数
b
b
b
Output
一个正整数, a + b a+b a+b
Sample Input 1
1
1
Sample Output 1
2
Sample Input 2
12345678987654321114514778
987654321100001001010086
Sample Output 2
13333333308754322115524864
Hint
数据规模及范围
对于
50
%
50\%
50%的数据,
0
<
a
,
b
<
2
31
−
1
0<a,b<2^{31}- 1
0<a,b<231−1
对于
80
%
80\%
80%的数据,
0
<
a
,
b
<
2
64
−
1
0<a,b<2^{64} - 1
0<a,b<264−1
对于
100
%
100\%
100%的数据,
0
<
a
,
b
<
1
0
500
0 <a,b < 10^{500}
0<a,b<10500
C.勇敢猫猫
Description
江苏大学校园里有很多猫,在钟灵路两边的草坪上,时不时会有小猫出现。很多喜爱猫的同学会在校园内喂猫、rua猫,猫猫们的生活很惬意。
现在钟灵路的南端有一只小黑猫,它必须沿着钟灵路一路向北到达猫猫聚集地。在起点时他的饥饿值(整数)是0。路上有nn个静止的同学,按顺序排成序列aa,每个同学的属性值是
a
i
(
1
≤
i
≤
n
)
a_{i}(1 \le i \le n)
ai(1≤i≤n),一部分同学只会rua猫,另一部分同学只会喂猫。当小黑猫被rua时,其饥饿值会减掉
a
i
a_{i}
ai ;当小黑猫被喂时,其饥饿值会增加
a
i
a_{i}
ai 。
小黑猫会隐身,它只想在这个序列 a a a的仅一个连续区间内 [ L , R ] ( 1 ≤ L ≤ R ≤ n ) [L,R](1 \leq L \leq R \leq n) [L,R](1≤L≤R≤n)现形,来让同学们rua或喂。请你找到那个区间,使小黑猫的饥饿值最大。
Input
第1行输入一个正整数
n
n
n
从第2行到第
n
+
1
n+1
n+1行输入
n
n
n个整数
a
i
a_{i}
ai ,表示第
i
i
i个同学的属性值
Output
输出一个整数表示最大饥饿值
Sample Input 1
5
3
-2
2
1
-1
Sample Output 1
4
Hint
对于样例,小黑猫会在区间 [ 1 , 4 ] [1,4] [1,4]现形,饥饿值为 3 − 2 + 2 + 1 = 4 3-2+2+1=4 3−2+2+1=4, 4 4 4是它能达到的最大饥饿值,在 [ 1 , 4 ] [1,4] [1,4]之外的任意一个区间内它能获得的饥饿值均小于 4 4 4
数据规模及范围
对于
30
%
30\%
30%的数据,
0
<
n
≤
100
0 < n \le 100
0<n≤100
对于
60
%
60\%
60%的数据,
0
<
n
≤
1
0
4
0 < n \le 10^4
0<n≤104
对于
100
%
100\%
100%的数据,
0
<
n
≤
1
0
6
,
−
1
0
4
≤
a
i
≤
1
0
4
0 <n \leq 10^6 , -10^4 \leq a_{i} \leq 10^4
0<n≤106,−104≤ai≤104
D.爱打炉石的老社长
Description
老社长是一个炉石传说的忠实玩家。
但暴雪战网最近不仅鸽了暴雪嘉年华,而且鸽了守望先锋2。
暴雪战网的炉石传说组也开始摆烂:设计越来越超模的卡牌,推出越来越多的骗氪活动。
在炉石传说新卡包《奥特兰克的决裂》中有一张卡牌话痨奥术师,它的效果如下:对所有其他随从造成1点伤害,如果有随从死亡,则重复此效果。
例如,若战场上有两个随从,编号记为1和2,生命值分别为2和1,则使用该卡牌会先杀死2号随从的同时将1号随从生命值变成1。
然后,由于2号随从死亡,话痨奥术师触发“重复此效果”,将1号随从杀死。
现在战场上有
n
n
n个随从,编号记为
1
~
n
1~n
1~n。每个随从的生命值不同。对于编号为
i
i
i 的随从,生命值为
a
i
a_{i}
ai。
老社长想知道,他发动话痨奥术师的效果能否消灭战场上的所有随从。
Input
第一行一个数字
T
T
T,表示数据组数,每组数据之间相互独立。
接下来
2
T
2T
2T行为
T
T
T组数据。
第
2
T
2T
2T行一个数字
n
n
n,表示随从的个数。
第
2
T
+
1
2T+1
2T+1行包含
n
n
n个以空格分隔的整数
a
i
a_{i}
ai ,代表编号为
i
i
i的随从的生命值。
Output
若“话痨奥术师”能消灭战场上所有随从,输出"True"。否则,输出"False"。
Sample Input 1
2
2
2 1
3
1 1 3
Sample Output 1
True
False
Sample Input 2
2
6
1 2 3 3 4 5
3
2 4 1
Sample Output 2
True
False
Hint
数据规模及范围:
对于
100
%
100\%
100%的数据
1
≤
n
≤
10000
1≤n≤10000
1≤n≤10000
1
≤
a
i
≤
10000
1≤a_{i}≤10000
1≤ai≤10000
1
≤
T
≤
10
1≤T≤10
1≤T≤10
E.up袋口校园
Description
小明录取了蓝翔拖拉机技校,这个学校有一条奇怪的校规:每个学生都得下载一款名为“up袋口校园”的软件,每次参加活动时都会记录活动分数称为“up学分”。若“up学分”不达到某个数值,则学生可能会面临不能毕业的风险。
又到了一个周六,学校四处又开始组织各种活动。学校有
n
n
n处地点正在组织活动,这些地点的编号记为
1
~
n
1~n
1~n。校大门为
1
1
1号地点,也在组织活动。
每个活动都提供up学分。第
i
i
i号地点会提供
u
i
u_{i}
ui个up学分。
蓝翔拖拉机技校的地图很特殊。这个学校只有
n
−
1
n-1
n−1条大马路,而且这些大马路不会连成一个环。在这一个周六,所有的大马路只能单向通行。因此,存在某些地点使得学生没有大马路可走。大马路编号为
1
~
n
−
1
1~n-1
1~n−1。
小明从校大门出发。在他无大马路可走之前,他最多能获得多少up学分?
Input
输入的第一行包含一个整数
n
n
n,表示学校的活动地点数量。
输入的第二行包含
n
n
n个整数,表示每个地点提供的up学分数量
u
i
u_{i}
ui
接下来
n
−
1
n-1
n−1行,每行二个整数
P
i
,
Q
i
P_{i},Q_{i}
Pi,Qi ,表示从
P
i
P_{i}
Pi号地点到
Q
i
Q_{i}
Qi号地点有一条单行的大马路。
1
≤
n
≤
100
1≤n≤100
1≤n≤100
1
≤
u
i
≤
100
1≤u_{i}≤100
1≤ui≤100
Output
输出一个整数,表示小明最多获得的up学分是多少。
Sample Input 1
3
2 1 3
1 2
1 3
Sample Output 1
5
Hint
数据规模及范围
1
≤
n
≤
100
1≤n≤100
1≤n≤100
1
≤
u
i
≤
100
1≤u_{i}≤100
1≤ui≤100
F.小鸡的复仇
Description
老鹰抓小鸡是民间小朋友们经常玩的一个游戏。
通常小鸡在母鸡的保护下,通过灵活走位躲闪老鹰的攻击。
今天,小鸡们决定进行复仇。
n
n
n只小鸡站成一排,依次编号为
1
~
n
1~n
1~n。每只小鸡的属性不同,对于编号为
i
i
i 的小鸡,需要队伍中存在
b
i
b_{i}
bi只小鸡才能将其推动,可以对老鹰造成
a
i
a_{i}
ai点伤害。
小鸡们可以发起任意次行动,每次行动可以是攻击或调整。
攻击:队首的小鸡对老鹰发起攻击,假设该小鸡的编号为
p
p
p,则会对老鹰造成
a
p
a_{p}
ap点伤害 。同时队首开始的
b
p
b_{p}
bp只小鸡因为耗尽体力也将脱离队伍,无法参加游戏。注意:如果队伍中不足
b
p
b_{p}
bp只小鸡,则队首的小鸡无法发动攻击。
调整:队首的小鸡进行调整,转移到队尾。注意:小鸡们的编号是不会更改的,如:开始队伍为1,2,3,4,5;调整一次后为2,3,4,5,1。
Input
第一行一个数字
n
n
n,表示小鸡的个数。
接下来
n
n
n行,每行两个数字
a
a
a和
b
b
b,含义见题意。
Output
一行一个数字,表示能对老鹰造成的最大伤害值。
Sample Input 1
5
1 1
2 2
3 2
4 3
1 1
Sample Output 1
7
Hint
先进行三次调整,序列变为
45123
4 5 1 2 3
45123
此时进行一次攻击, 对老鹰造成
4
4
4点伤害,同时,队头开始的三只小鸡离开队伍,此时序列变为
23
2 3
23
再进行一次调整,序列变为
32
3 2
32
此时进行一次攻击,对老鹰造成
3
3
3点伤害,同时,队头开始的两只小鸡离开队伍,此时序列为空,无法再进行攻击。
总得分为
7
7
7
数据规模及范围
n
≤
200
n≤200
n≤200
1
≤
a
i
,
b
i
≤
1000
1≤a_i,b_i≤1000
1≤ai,bi≤1000
简单题
Description
现在你已经来到了最后一题,在出题组的威(si)逼(chan)利(lan)诱(da)之下,我要糊一个简单题才能蒙混过关。
那么,一起来看看有多少个简单子序列吧。
一个简单子序列的定义是,以easyeasy开头,后面跟任意个字符(包括00)的字符串。
给定仅由小写字母构成的字符串ss,请问ss的所有子序列中,有多少满足简单子序列?
提示:如果可以通过删除几个字符(包括00)从
s
s
s获得
s
′
s'
s′ ,则字符串
s
′
s'
s′是字符串
s
s
s的子序列。
Input
第一行包含一个整数
n
n
n,为字符串
s
s
s的长度。
第二行包含一个仅由小写字母组成的字符串
s
s
s。
Output
输出一个整数,为
s
s
s的所有子序列中简单子序列的个数。
答案可能很大,请输出除以1000000007的余数。
Sample Input 1
6
eassyy
Sample Output 1
6
Sample Input 2
24
veryeasyveryeasyveryeasy
Sample Output 2
141460
Hint
数据规模及范围
1
≤
n
≤
1
0
5
1≤n≤10^{5}
1≤n≤105
等差数列
Description
小王同学最近沉迷于研究等差数列。
所谓等差数列,是指从第二项起,每一项与它的前一项的差等于同一个常数的一种数列。
某天,他学会了使用C语言的随机函数rand()
,并用它生成了一个长度为
n
n
n的整数数列。但是,这并不是他喜欢的等差数列。
他想通过一些简单的操作将它变成一个等差数列。他可以进行两种操作:
(1)将某一个位置上的数字增加1。
(2)将某一个位置上的数字减少1。
小王同学的数学不是很好,请你帮他计算一下最少通过多少次上述操作,可以将原始数列变成一个等差数列。
Input
第一行输入一个整数
n
n
n,为数列的长度。
第二行包含
n
n
n个以空格分隔的整数
a
i
a_{i}
ai ,代表原始序列。
Output
输出一个整数,为小王同学对数列元素的最少操作次数。
Sample Input 1
5
2 4 5 9 9
Sample Output 1
3
Hint
数据规模及范围
1
≤
n
≤
1
0
5
1≤n≤10^{5}
1≤n≤105
0
≤
∣
a
i
∣
≤
1
0
8
0≤|a_{i}|≤10^{8}
0≤∣ai∣≤108