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