全国信息学分区联赛模拟试题(三)
【试题概览】
试题名称 |
中位数 |
敲砖块 |
单词 |
邮递员送信 |
提交文件 |
median.* |
brike.* |
words.* |
post.* |
输入文件 |
median.in |
brike.in |
words.in |
post.in |
输出文件 |
median.out |
brike.out |
words.out |
post.out |
时间限制 |
1s |
1s |
1s |
1s |
空间限制 |
128MB |
128MB |
128MB |
128MB |
题目来源 |
COI |
湖南省选题 |
COI |
原创 |
1.中位数
【题目描述】
有一个长度为N的数列{A1,A2,...,An},这N个数字恰好是1..N的一个排列。你需要统计有多少个子序列{Ai,Ai+1,...,Aj}满足:i≤j且j-i+1为奇数,序列的中位数为B,例如{5,1,3}的中位数为3。
【输入文件】
第一行包含两个正整数N和B;
第二行包含N个整数,第i个整数位Ai。
【输出文件】
仅包含一个整数,为满足条件的子序列的个数。
【样例输入】
7 4
5 7 2 4 3 1 6
【样例输出】
4
【数据规模】
对于30%的数据中,满足N≤100;
对于60%的数据中,满足N≤1000;
对于100%的数据中,满足N≤100000,1≤B≤N。
2.敲砖块
【题目描述】
在一个凹槽中放置了N层砖块,最上面的一层有N块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如图3-2-1所示。
如果你想敲落第i层的第j块砖的话,若i=1,你可以直接敲掉它;若i>1,则你必须先敲掉第i-1层的第j和第j+1块砖。
你现在可以敲掉最多M块砖,求得分最多能有多少。
【输入文件】
输入文件第一行有两个正整数N和M;
接下来的N行,描述这N层砖块上的分值A[i,j],满足0≤A[i,j]≤100。
【输出文件】
仅一行,包含一个整数,为最大的得分。
【样例输入】
4 5
2 2 3 4
8 2 7
2 3
49
【样例输出】
19
【数据规模】
对于20%的数据,满足1≤N≤10,1≤M≤30;
对于100%的数据,满足1≤N≤50,1≤M≤500。
3.单词
【题目描述】
有N个单词和字符串T,按字典序输出以字符串T为前缀的所有单词。
【输入文件】
输入文件第一行包含一个正整数N;
接下来N行,每行一个单词,长度不超过20;
最后一行包含字符串T。
【输出文件】
按字典序升序输出答案。
【样例输入】
6
na
no
ki
ki
ka
ku
k
【样例输出】
ka
ki
ki
ku
【数据规模】
对于60%的数据,满足1≤N≤1000;
对于100%的数据,满足1≤N≤10000且所有字符均为小写字母。
4.邮递员送信
【题目描述】
有一个邮递员要送东西,邮局在节点1。他总共要送N-1样东西,其目的地分别是2~N。由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间。这个邮递员每次只能带一样东西。求送完这N-1样东西并最终回到邮局最少需要多少时间。
【输入文件】
输入文件第一行包含两个正整数N和M;
接下来M行,每行三个整数U、V、W,表示该条道路为从U到V的,且通过这条道路需要W的时间。满足1≤U,V≤N,1≤W≤10000,输入保证任意两点都能互相到达。
【输出文件】
输出仅一行,包含一个整数,为最少需要的时间。
【样例输入】
5 10
2 3 5
1 5 5
3 5 6
1 2 8
1 3 8
5 3 4
4 1 8
4 5 3
3 5 6
5 4 2
【样例输出】
83
【数据规模】
对于30%的数据,满足1≤N≤200;
对于100%的数据,满足1≤N≤1000,1≤M≤100000。