2024年特长生模拟试题

发布 2023-12-28 13:40:05 阅读 7096

题一水王争霸。

问题描述:众所周知,ioiforum有很多水王,他们的发贴数是如此之多,以至于必须要用高精度数才能保存。

为了迎接国庆,ioiforum决定举行一次水王争霸赛,。每个水王当然都想取得尽量靠前的名次,所以他们竭尽全力,不择手段地进行灌水。

终于,激动人心的一刻到来了,2024年10月1日0时0分0秒,你作为裁判得到了每个水王的发贴数,现在,你的任务是公正地把这些水王按照发贴数从大到小进行排序。

输入格式:输入的第一行是一个1到1000的整数n,表示总共有n位水王参加了争霸赛。

以下依次给出每位水王的描述,一位水王的描述占据两行,第一行为一个仅由字母和数字组成的长度不超过20的字符串,代表这个水王的id,第二行一个高精度的整数(非负数),代表这个水王的发贴数。注意,这个整数的首位没有不必要的0。

考虑到ioiforum的数据库是有限的,所有水王发贴数的总长度(注意,是总长度而不是总和)不会超过10000。

除了子母、数字和必要的换行,输入中不会出现空格等字符。

输出格式:依次输出按照发贴数从大到小排好序的各位水王的id,每个id占据单独的一行。不能有任何多余的字符。若几个id的发贴数相同,则按照id的字典顺序先后排列。

样例:解析:

主要是字符排序,用ansistring记录即可。

程序:var n,i:longint;

a:array[0..1000,1..2] of ansistring;

function check(s1,s2:ansistring):boolean;

beginif length(s1)>length(s2) then exit(true);

if (length(s1)=length(s2)) and (s1>s2) then exit(true);

exit(false);

end;procedure qsort(l,r:longint);

var i,j,key:longint;

key1,key2:ansistring;

beginif l>=r then exit;

i:=l; j:=r; key:=random(r-l+1)+l;

key1:=a[key,1]; key2:=a[key,2];

repeat

while (check(a[i,2],key2)) or

((key2=a[i,2]) and (key1>a[i,1]))do inc(i);

while (check(key2,a[j,2]))or

((key2=a[j,2]) and (a[j,1]>key1)) do dec(j);

if i<=j then begin

a[0]:=a[i]; a[i]:=a[j]; a[j]:=a[0];

inc(i); dec(j);

end;until i>j;

qsort(l,j);

qsort(i,r);

end;begin

readln(n);

for i:=1 to n do begin

readln(a[i,1]);readln(a[i,2]);

end;randomize;

qsort(1,n);

for i:=1 to n do writeln(a[i,1]);

end.题二 k上升段

问题描述:对于自然数1..n的一个排列a[1..n] 可以划分为若干个单调递增序列。每个单调递增序列由连续元素a[st..ed]组成,且满足以下条件:

1<=st,ed<=n;

a[i]ed=n 或者 a[ed] >a[ed+1];

例如:排列1 2 4 5 6 3 9 10 7 8 可划分为3个单调递增序列 1 2 3 4 5 6;3 9 10 ;7 8 ; 所以我们称这是一个 3上升段序列 。

现在给定n和k , 求出n的全排列中的,k上升段序列的个数。

输入格式:输入仅有1行,包含两个数n, k(1 < n < 20, 1 < k < n)。

输出格式:输出n的所有k上升段的个数。样例。

说明,符合条件的排列是。

解析:第一种:在有k 个上升段中,直接在其中一个段后面+最大值。

如:原:1 4 2 3 ,有2个段,然后再插进5,就有2个情况了。

第二种:在有k-1 个上升段中,直接在其中一个段中间(非最前或最后)+最大值。

如:原:1 4 2 3 ,有2个段,然后再插进5,就有2个情况了。

程序:var p,pp,n,k,i,j:integer;

f:array[0..1, 0..100] of int64;

ch:char;

beginread(n,k);

f[1,1]:=1;

p:=1; pp:=0;

for i:=2 to n do begin

p:=pp; pp:=1-p;

f[p,1]:=1;

for j:=1 to k do

f[p,j]:=j*f[pp,j]+(i-j+1)*f[pp,j-1];

end;writeln(f[p,k]);

end.题三尼克的任务。

问题描述。尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。

尼克的一个工作日为n分钟,从第一分钟开始到第n分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完戍,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务开始时刻尼克正在工作,则这些任务也由尼克的同事完成。

如果某任务于第p分钟开始,持续时间为t分钟,则该任务将在第p+t-1分钟结束。

写一个程序计算尼克应该如何选取任务,才能获得最大的空暇时间。

输入。输入数据第一行含两个用空格隔开的整数n和k(1≤n≤10000,1≤k≤10000),n表示尼克的工作时间,单位为分钟,k表示任务总数。

接下来共有k行,每一行有两个用空格隔开的整数p和t,表示该任务从第p分钟开始,持续时间为t分钟,其中1≤p≤n,1≤p+t-1≤n。

输出。输出文件仅一行,包含一个整数,表示尼克可能获得的最大空暇时间。样例。

解析:明显是用动归,但如何做就考人了。

程序。var i,j,n,m,x:longint;

a,b,f:array[0..10000]of longint;

beginread(n,m);

for i:=1 to m do read(a[i],b[i]);

j:=m;for i:=n downto 1 do begin

f[i]:=0;

if a[j]<>i then f[i]:=f[i+1]+1

else while a[j]=i do begin

if f[i+b[j]]>f[i] then f[i]:=f[i+b[j]];

dec(j);

end;end;

writeln(f[1]);

end.垃圾陷阱。

问题描述 卡门——农夫约翰极其珍视的一条holsteins奶牛——已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为d (2 <=d <=100)英尺。

卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。

每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间。

假设卡门预先知道了每个垃圾扔下的时间t(0输入。

第一行为2个整数,d 和 g (1 <=g <=100),g为被投入井的垃圾的数量。

第二到第g+1行每行包括3个整数:t (0 < t <=1000),表示垃圾被投进井中的时间;f (1 <=f <=30),表示该垃圾能维持卡门生命的时间;和 h (1 <=h <=25),该垃圾能垫高的高度。

输出。如果卡门可以爬出陷阱,输出一个整表示最早什么时候可以爬出;否则输出卡门最长可以存活多长时间。样例。

【样例说明】

卡门堆放她收到的第一个垃圾:height=9;

卡门吃掉她收到的第二个垃圾,使她的生命从10小时延伸到13小时;

卡门堆放第3个垃圾,height=19;

卡门堆放第4个垃圾,height=20。

特长生培训纪律要求

高二年级特长生培训要求。为加强对音 体 美及各类特长生培训及学习的管理,切实保证特长生培训的效果和质量,特做出以下要求 1 参与特长生培训的专业教师和学生都要树立强烈的时间观念,在规定的培训时间和地点开展培训教学,坚决做到不迟到 不早退,杜绝旷课现象。2 各专业教师在办理请假手续时,必须提前安排好培...

高三特长生外出安全预案

2018年汝州二高高三体育特长生术科考试安全预案。为保证我校高三体育专业考生术科外出考试的顺利进行,预防安全事故的发生及保障考试试期间安全事故发生后及时消除 减少人员 确保安全,特制定本预案 一 成立安全领导小组 组长 万涛。成员 兰帅峰范雪强张彦昌。二 安全工作安排及措施 1 比赛前由教练员组织召...

2024年体育特长生最详细的自我评价

本人热爱祖国,拥护中国 坚持四项基本原则,坚持改革开放,思想上严格要求自己,不断思想觉悟,积极向党组织靠拢。大学四年,我的学习成绩一直保持优秀,工作或生活上都本着 团结 奋进 求实 创新 的校训,时刻严格要求自己,鼓励自己勇往直前,不怕艰辛不怕困苦,向自己的成功彼岸迈进。特别在体育专业上具备牢固的专...