noip集训练习 Day 1

合集下载

noip模拟day1Solution

noip模拟day1Solution

By 林希
Game
题目来源 题目大意
游戏通关
经典问题改编 给出 N 个任务以及每个任务的奖励 W 和完成期限 T,要求输出获得的最大奖 励。 考察算法 贪心 并查集 二叉堆 算法一 这道题目我们很容易想到一个贪心策略:每次让奖励最多的任务尽量准时完 成。这样我们可以先把这些任务按照奖励的数目进行排序,把大的排在前面, 先进行放置。假如罚款最多的一个任务的完成期限是 T,我们应该把它安排在 哪个时段完成呢?应该放在第 T 个时段, 因为放在 1~T 任意一个位置, 效果都 是一样的。一旦出现一个不可能在规定时限前完成的任务,则把其扔到最大的 一个空时间段,甚至可以将这个任务要放弃,这样必然是最优的。 时间复杂度:O(NT) 空间复杂度:O(N) 期望得分:30 分 算法二 这道题也可以用另外一个贪心策略来解决:对于当前时刻所能完成的任务,选 奖励最大的任务完成。 我们可以先把这些任务按照完成期限 T 进行排序, 时间 从最大完成期限开始枚举。对于当前时刻,所能完成的任务就是那些完成期限 T 大于等于当前时刻的任务。于是,每次只要将完成期限与当前时刻相同的任 务加入集合中, (接下来枚举时,这些任务也是满足要求的) ,再在所能完成的 任务中,找出奖励最大的任务完成,直到时间为零。 时间复杂度:O(NT) 空间复杂度:O(N) 期望得分:30 分 算法三 在算法一的基础上, 我们可以发现算法一的瓶颈之处就在于不能快速找出将这 个任务放在哪一个时间来完成,这时候我们可以借助并查集来优化。 设 f [i ] 表示跟时间 i 相距最近的没被用过的时间的编号(初始化 f [i ] = i ),对 于当前任务 P,我们查找出 T[P]的根结点 F,如果时间 F 没有被占用,那么就 合并 T[P]和 F-1,并在时间 F 完成任务 P。具体实现可以参见程序。 时间复杂度: O (NlogT) 空间复杂度:O(N) 期望得分:100 分 算法四 在算法二中,我们要做的就是找出当前所能完成任务中奖励最大的任务。这样 很容易想到用二叉堆来优化。每次枚举时刻,我们只需将新的能完成的任务拼 命加入堆中,再维护一下小根堆的性质就可以了。 时间复杂度: O (NlogN) 空间复杂度:O(N) 期望得分:100 分 另:除了上面的算法外,不排除还有其他更优的解法。

NOIp每日整理

NOIp每日整理

最大子序列和设ans[i]表示前i个元素的最大和,a[i]表示元素数字则ans[i]:=max{ans[i-1]+a[i],a[i]}For i:=1 to n doAns[i]:=max(ans[i-1]+a[i],a[i]);Writeln(max{ans[n]});最大子矩阵对于一个矩阵而言,如果我们将连续k行的元素纵向相加,并对相加后所得的数列求连续最大和,则此连续最大和就是一个行数为k 的最优子矩阵在一序列中,sum[i]表示前i个元素的和sum[i]:=sum[i-1]+a[i]; 从i至j的元素和为sum[j]-sum[i]则对于一矩阵(n*m)Sum[i][j]表示第j列前i个元素的和求sum[i][j]For i:=1 to n doFor j:=1 to m doSum[i][j]:=sum[i-1][j]+a[i][j];从sum[i][j]中读取元素for i:=n downto 1 dofor j:=i-1 downto 0 dofor k:=1 to m dotemp[k]:=sum[i,k]-sum[j,k];不同的行组合数据处理方法第一行sum[1,j]第二行sum[2,j]-sum[1,j]第三行sum[3,j]-sum[2,j] 第一、二行sum[2,j]第二、三行sum[3,j]-sum[1,j] 第一、二、三行sum[3,j]则temp[k]表示每一小行每一小列的和(能全部记录)For i:=n downto 1 do //每一部分行[1,n]更新bestBeginFor j:=i-1 downto 0 doF or k:=1 to m doTemp[k]:=sum[i][k]-sum[j][k];End;只需从temp[k]中求出最大子序列和最终best即为所求a,sum:array[0..1000,0..1000] of longint;n,m:longint;procedure init;var i,j,k:longint;beginassign(input,'in.in');reset(input);readln(n,m);for i:=1 to n dofor j:=1 to m doread(a[i][j]);for i:=1 to n dofor j:=1 to m dosum[i][j]:=sum[i-1][j]+a[i][j]; //预处理记录第j列前i个元素和close(input);end;function max(a,b:longint):longint;beginif a>b then exit(a)else exit(b);end;procedure solve;var i,j,k,ans,tot:longint;temp,b:array[0..1000] of longint;begintot:=0;for i:=n downto 1 do //每一部分行for j:=i-1 downto 0 dobeginans:=-maxlongint;fillchar(b,sizeof(b),0);for k:=1 to m dotemp[k]:=sum[i][k]-sum[j][k];for k:=1 to m dobeginb[k]:=max(b[k-1]+temp[k],temp[k]);if ans<b[k] then ans:=b[k];end; //求最大子序列和if ans>tot then tot:=ans; //更新最大者end;writeln(tot);end;init; solve; end.["扫地"杯III day1]诡异的数学题From liouzhou_101背景Background“扫地”杯III NOIP2012模拟赛 day1 第一题描述Descriptionliouzhou_101从NOI归来后文化课像坨屎,于是决定去补做一些作业,结果翻开作业的第一题就傻眼了:设a、b、c为实数,且满足a+b+c=15,a^2+b^2+c^2=100,则a 的最大值和最小值的积为____。

noip2017提高组试题(day1+day2)-Word版

noip2017提高组试题(day1+day2)-Word版

全国信息学奥林匹克联赛(2017)复赛提高组 1(请选手务必仔细阅读本页内容)一.题目概况注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、中函数 ()的返回值类型必须是,程序正常结束时的返回值必须是 0。

3、全国统一评测时采用的机器配置为: () x2 240 ,2.8,内存 4G,上述时限以此配置为准。

4、只提供格式附加样例文件。

5、提交的程序代码文件的放置位置请参照各省的具体要求。

6、特别提醒:评测在当前最新公布的下进行,各语言的编译器版本以其为准。

【问题描述】1.小凯的疑惑()小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。

每种金币小凯都有无数个。

在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。

现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。

【输入格式】输入文件名为。

输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。

【输出格式】输出文件名为。

输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

【输入输出样例 1】见选手目录下的 1 和 1。

【输入输出样例 1 说明】小凯手中有面值为3 和7 的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,比如:12 = 3 * 4 + 7 * 013 = 3 * 2 + 7 * 114 = 3 * 0 + 7 * 215 = 3 * 5 + 7 * 0……【输入输出样例 2】见选手目录下的 2 和 2。

【数据规模与约定】对于 30%的数据: 1 ≤ a,b ≤ 50。

对于 60%的数据: 1 ≤ a,b ≤ 10,000。

对于 100%的数据:1 ≤ a,b ≤ 1,000,000,000。

noip练习题库

noip练习题库

noip练习题库NOIP(全国青少年信息学奥林匹克竞赛)是中国最高级别的信息学竞赛,也是培养青少年计算机科学与技术创新能力的重要途径之一。

NOIP练习题库,作为NOIP备考的重要资源,对于提高竞赛成绩、培养解决问题的能力有着重要的作用。

NOIP练习题库中的题目内容丰富多样,涵盖了计算机科学与技术的各个领域,包括算法、数据结构、图论、动态规划等等。

这些题目不仅考察了学生的理论知识,更注重学生的实际应用能力。

通过解决这些题目,学生可以提高自己的编程能力和解决问题的能力。

NOIP练习题库的题目设计精巧,往往会涉及到一些实际的问题,比如模拟交通流量、优化资源分配等等。

这些问题需要学生进行抽象建模,然后通过编程实现解决方案。

通过解决这些问题,学生可以培养自己的逻辑思维和创新能力。

同时,这些问题也能够激发学生对计算机科学的兴趣,促使他们深入学习相关的知识。

NOIP练习题库的题目难度逐渐递增,从初级到高级,涵盖了不同水平的学生。

对于初学者来说,这些题目可以帮助他们掌握基本的编程技巧和算法思想。

对于有一定基础的学生来说,这些题目可以提供更高难度的挑战,帮助他们提高解决问题的能力和创新思维。

对于高级选手来说,这些题目可以帮助他们巩固知识,提高竞赛成绩。

NOIP练习题库的题目来源广泛,包括历年NOIP竞赛的真题、国内外知名竞赛的题目以及一些经典的算法问题。

这些题目经过精心挑选和整理,具有一定的难度和代表性。

通过解决这些题目,学生可以更好地了解竞赛的出题思路和考点,提高应试能力。

NOIP练习题库的使用方法多样,可以根据自己的情况进行选择。

一般来说,学生可以根据自己的水平选择适合自己的题目进行练习。

同时,学生也可以参考一些优秀的解题思路和代码,提高自己的编程能力和解题思路。

此外,学生还可以参加一些NOIP的模拟竞赛,提高应试能力和竞赛经验。

总之,NOIP练习题库对于提高学生的编程能力和解决问题的能力具有重要的作用。

通过解决这些题目,学生可以培养自己的逻辑思维、创新能力和应试能力,提高自己的竞赛成绩。

noip普及组初赛模拟试卷1附答案(供参考)

noip普及组初赛模拟试卷1附答案(供参考)

1.计算机中的数有浮点数与定点数两种,其中浮点数表示的数,通常由(C)这两部分组成:A.指数与基数B. 尾数与小数C. 阶码与尾数D. 整数与小数2.在衡量存储器容量时,计量单位由小到大的顺序是(A )A. KB GB TBB. TB KB GBC. TB GB KBD. KB TB GB3. 下列( D)不属于计算机病毒的预防措施A. 拥有计算机病毒检测扫描器B. 拥有实时监控程序C. 对未知计算机病毒进行检测D. 对已知的计算机病毒进行杀毒4. 文件夹组织是一个有层次的树状结构,其中最顶层的是(C )A. 我的电脑B. 网上邻居C. 桌面D. 资源管理器5. (D )是用来在计算机之间进行文件传输。

利用该服务不仅可以从远程计算机上获取文件,而且还可以将文件从本地机器传送到远程计算机上。

A. DNSB. NFSC. WWWD. FTP6.下列4个不同数制表示的数中,最大的一个数是(C )A. 十进制数220.1B. 二进制数11011011.1C. 八进制数334.1D. 十六进制数DC.17. 若采用32*32点阵的汉字字模,存放1600个汉字信息需要的存储容量是( B)KB。

A.25B.200C. 800D.16008. 十进制数-103的补码是(A )A. 10011001B. 11100111C. 10110011D. 000110019. 下列软件依次对应于图像浏览、屏幕撷取、文件压缩、杀毒软件的排列顺序是(D )。

①HyperCam ②WinRAR ③NortonAntiVirus ④ACDSeeA. ①②④③B. ②①③④C. ③④②①D. ④①②③10.在微型计算机中,常用( A)码实现十进制数与二进制数之间的自动转换。

A. BCD码B. ASCII码C. 海明码D. 机内码11. 插入排序是一种简单实用的工具,在对数组排序时,我们可能用二分查找,对要插入的元素快速找到在已经排好元素序列中的位置。

noip集训练习 Day 1

noip集训练习 Day 1

暑期集训练习Day 11.ISBN NOIP 2008 普及每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。

ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。

例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。

你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。

输入格式Input Format输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出格式Output Format输出共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。

输入样例:【样例1】0-670-82162-4【样例2】0-670-82162-0输出样例:【样例1】Right【样例2】0-670-82162-42.乒乓球NOIP 2003 普及【问题描述】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。

NOIP2014_day1提高组(2019.10.26)

NOIP2014_day1提高组(2019.10.26)

bird.out 0 3
【输入输出样例说明】 如下图所示,蓝色直线表示小鸟的飞行轨迹,红色直线表示管道。
第 6 页共 7 页
提高组 day1
全国信息学奥林匹克联赛( NOIP2014)复赛
提高组 day1
【数据范围】 对于 30%的数据: 5≤n≤ 10 ,5≤m ≤10 ,k=0 ,保证存在一组最优解使得同一单位时间最多
ቤተ መጻሕፍቲ ባይዱ
【输出】
输出文件名为 bird.out 。 共两行。
第一行,包含一个整数,如果可以成功完成游戏,则输出
1,否则输出 0。
第二行,包含一个整数,如果第一行为 1,则输出成功完成游戏需要最少点击屏幕数,
否则,输出小鸟最多可以通过多少个管道缝隙。
第 5 页共 7 页
全国信息学奥林匹克联赛( NOIP2014)复赛
上玩家点击屏幕后,小鸟在下一位置上升的高度
X,以及在这个位置上玩家不点击屏幕时,
小鸟在下一位置下降的高度 Y。
接下来 k 行,每行 3 个整数 P,L,H,每两个整数之间用一个空格隔开。每行表示一
个管道,其中 P 表示管道的横坐标, L 表示此管道缝隙的下边沿高度为 L,H 表示管道缝隙
上边沿的高度(输入数据保证 P 各不相同,但不保证按照大小顺序给出) 。
4、只提供 Linux 格式附加样例文件。 5、特别提醒:评测在当前最新公布的
准。
NOI Linux 下进行,各语言的编译器版本以其为
第 1 页共 7 页
全国信息学奥林匹克联赛( NOIP2014)复赛
提高组 day1
1.生活大爆炸版石头剪刀布
(rps.cpp/c/pas)
【问题描述】 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一

高二寒假noip模拟题第一题AWP

高二寒假noip模拟题第一题AWP

第一题 AWP提交文件: awp.exe输入文件:awp.in输出文件: awp.out问题描述:Neo喜欢玩CounterStrike(CS,有名的网络对战游戏),他最喜欢用的武器是AWP(一把狙击枪,威力极大)。

这天,Neo在一个空旷的地图上,拿起心爱的AWP练习枪法。

Neo的CS版本很特别,他用的AWP一枪能够击穿无限多个机器人。

他调出很多很多的机器人,并把他们设置为静止,然后开始练枪。

这时,他突然想知道究竟一枪能最多同时击中多少个机器人。

请你写一个程序,帮Neo解决这个问题。

为了简单起见,每个机器人在地图上用一个点来表示,任意两个机器人的位置都不相同。

地图很空旷,没有障碍物。

当然,AWP的子弹轨迹是一条直线。

输入格式:输入文件的第一行为机器人的数目N(1≤N≤1000)。

接下来有N行,每行有两个整数Xi和Yi(-2000000000≤Xi,Yi≤2000000000),表示第i 个机器人在地图中的行、列坐标。

输出格式:输出文件只有一个整数,就是Neo一枪最多能击中的机器人数目。

输入样例:50 01 12 20 32 3输出样例:3用枚举方法,对两个点求出斜率,然后进行统计.程序:var n,i,j,t,ans:longint;f:array[0..2000,0..2000] of real;a:array[0..2000,0..2000] of longint;procedure dg(x,y:longint);var l,r:longint;k:real;beginl:=x; r:=y; k:=f[i,(x+y) shr 1];repeatwhile f[i,l]<k do inc(l);while f[i,r]>k do dec(r);if l<=r then beginf[i,0]:=f[i,l]; f[i,l]:=f[i,r]; f[i,r]:=f[i,0];inc(l); dec(r);end;until l>r;if l<y then dg(l,y);if x<r then dg(x,r);end;beginreadln(n);for i:=1 to n do readln(a[i,1],a[i,2]);for i:=1 to n do beginfor j:=1 to n do if i<>j then beginif a[i,1]=a[j,1] then f[i,j]:=maxlongintelse f[i,j]:=(a[i,2]-a[j,2])/(a[i,1]-a[j,1]);end;f[i,i]:=-maxlongint;end;ans:=0;for i:=1 to n do begindg(1,n);t:=1;for j:=2 to n do beginif f[i,j]=f[i,j-1] then inc(t)else beginif t+1>ans then ans:=t+1; t:=1;end;if t+1>ans then ans:=t+1;end;writeln(ans);end.解法:和上面差不多,用计算几何,固定两个点,找出第三个在同一直线的点.程序:var n,i,j,k,max,n2:longint;x,y:array[1..2000] of longint;t:array[1..2000] of boolean;beginreadln(n);for i:=1 to n do readln(x[i],y[i]);if n=1 then writeln(1)else if n=2 then writeln(2)else beginmax:=2;for i:=1 to n-2 do beginfillchar(t,sizeof(t),true);for j:=i+1 to n-1 do if t[j] then beginn2:=2;for k:=j+1 to n doif (x[j]-x[i])*(y[k]-y[i])-(x[k]-x[i])*(y[j]-y[i])=0 then begininc(n2); t[k]:=false;end;if n2>max then max:=n2;end;end;writeln(max);end;end.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

暑期集训练习Day 11.ISBN NOIP 2008 普及每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。

ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。

例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。

你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。

输入格式Input Format输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出格式Output Format输出共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。

输入样例:【样例1】0-670-82162-4【样例2】0-670-82162-0输出样例:【样例1】Right【样例2】0-670-82162-42.乒乓球NOIP 2003 普及【问题描述】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。

其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。

华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。

在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。

华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。

比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):WWWWWWWWWWWWWWWWWWWWWWLW在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。

而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。

如果一局比赛刚开始,则此时比分为0比0。

你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。

字符总数不超过60000个。

【输入】输入文件名为:table.in每个输入文件包含若干行字符串(每行至多20个字母),字符串有大写的W、L和E组成。

其中E表示比赛信息结束,程序应该忽略E之后的所有内容。

【输出】输出文件名为:table.out输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。

其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔。

【输入输出样例1】3.二进制加法tyvj 1197计算机使用的是二进制,和十进制不同的是:二进制运算“逢二进一”。

下面举几个二进制加法的运算实例:例1(整数):例2(含小数):1110111101.1011+ 110+ 110.11-----------------------------100011100100.01111所在的位置:1所在的位置:6、2、16、3、-2、-3、-4你的任务是:对于任意的两个正的二进制数,求它们和中“1”所在的位置(其中小数点后面的位置用负数表示)。

输入格式Input Format输入文件共两行:第一行:二进制的加数A,总长度<=200第二行:二进制的加数B,总长度<=200输出格式Output Format输出文件输出二进制数A+B中“1”所在的位置,位置排序为:整数部分从左到右:N、N-1、N-2...1,小数部分从左到右:-1、-2、......、-N,数据之间用空格分隔,行末没有多余的空格,有空行。

样例输入1:11101110样例输出1:6 2 1样例输入2:11101.1011110.11样例输出2:6 3 -2 -3 -4数据范围:40%的数据:A、B均为正整数,总长度<=3170%的数据:A、B含小数,小数位数相等,总长度<=200100%的数据:A、B可能含小数,小数位数可能不相等,总长度<=2004.谁拿了最多奖学金NOIP 2005 提高BNDS的惯例是在每学期的期末考试之后发放奖学金。

发放的奖学金共有五种,获取的条件各自不同:1) 校长奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;2) 最受欢迎奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。

例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。

现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

并求出学生获得总奖金数值。

【输入文件】输入文件scholar.in的第一行是一个整数N(1 <= N <= 100),表示学生的总数。

接下来的N行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。

姓名是由大小写英文字母组成的长度不超过20的字符串(不含空格);期末平均成绩和班级评议成绩都是0到100之间的整数(包括0和100);是否是学生干部和是否是西部省份学生分别用一个字符表示,Y表示是,N表示不是;发表的论文数是0到10的整数(包括0和10)。

每两个相邻数据项之间用一个空格分隔。

【输出文件】输出文件scholar.out包括三行,第一行是获得最多奖金的学生的姓名,第二行是这名学生获得的奖金总数。

如果有两位或两位以上的学生获得的奖金最多,输出他们之中在输入文件中出现最早的学生的姓名。

第三行是这N个学生获得的奖学金的总数。

【样例输入】4YaoLin 87 82 Y N 0ChenRuiyi 88 78 N Y 1LiXin 92 88 N N 0ZhangQin 83 87 Y N 1【样例输出】ChenRuiyi9000287005.比特tyvj 1236对于一个十进制整数,我们可以很容易地将它转化为二进制数,例如:5 ——10113 ——110123 ——10111现在我们关心的是,一个数的二进制表示中,出现多少相邻的1的情况。

例如5表示成的101,没有出现相邻的1;13表示成的1101,开头两个1相邻,所以有1个;23表示成的10111,最后三位全是1,所以出现两个。

现在给出n,请求出1到n之间所有的数的二进制共出现多少相邻的1的情况。

输入格式Input Format输入包含一个整数n(1<=n<=1,000,000)。

输出格式Output Format输出一个整数,为所求的答案。

输入样例:22输出样例:146.牛棚回声tyvj 1029奶牛们灰常享受在牛栏中牟叫,因為她们可以听到她们牟声的回音。

虽然有时候并不能完全听到完整的回音。

Bessie曾经是一个出色的秘书,所以她精确地纪录了所有的牟叫声及其回声。

她很好奇到底两个声音的重复部份有多长。

输入两个字符串(长度為1到80个字母),表示两个牟叫声。

你要确定最长的重复部份的长度。

两个字符串的重复部份指的是同时是一个字符串的前缀和另一个字符串的后缀的字符串。

我们通过一个例子来理解题目。

考虑下面的两个牟声:moyooyoxyzoooyzoooqyasdfljkamo第一个串的最后的部份"yzooo"跟第二个串的第一部份重复。

第二个串的最后的份"mo"跟第一个串的第一部份重复。

所以"yzooo"跟"mo"都是这2个串的重复部份。

其中,"yzooo"比较长,所以最长的重复部份的长度就是5。

输入格式Input Format输入格式:* 前两行: 每一行是1个字符串表示奶牛的牟声或它的回声。

输出格式Output Format输出格式:* 第一行: 包含一个单独的整数表示输入的2个字符串中,一个字符串的前缀和另一个字符串的后缀的最长的重复部份的长度。

7. 飞碟降临tyvj P1507夜幕降临,S国发现空中飘过几只飞碟,便立即组织专家进行分析。

于是,专家们立即对飞碟排出物的初步检测,竟发现了DNA……为了进一步分析外星生物,专家们决定对DNA进行切割。

限制性核酸内切酶是基因工程中的重要的工具酶。

它会识别一段碱基序列(说白了就是只包含ATGC的序列)并且切割开。

EcoRI是某种限制酶的名称,它识别有某种特性的DNA 序列,即DNA序列双链反向排列相同的。

(双链对应位碱基对要满足碱基互补配对原则)比如识别序列为G A A T T C互补链序列为C T T A A G第一条链从左读和第二条链从右读的是一样的。

专家们想知道某一段DNA的序列中,具有这种特性的DNA子序列(连续)最长是多少,可限于智商,他们无法做出判断……于是,他们想到了你。

输入格式Input Format第一行,一个整数N,表示DNA序列的长度。

第二行,一个字符串,表示DNA序列的某一条链的碱基序列。

输出格式Output Format输出只有一个数,为题目所求的最长特征DNA序列的长度。

输入样例1:7GAATTCA输出样例1:6模拟练习题数组模拟栈:int stack[Max],top;int push(int value){if(top>Max){return 0;}else{top++;stack[top]=value;return 1;}}int pop(){If(top<0){return 0;}else{int result = stack[top];top--;return result;}}int clear(){top=-1;}数组模拟队列:int queue[Max],top;int push(int value){if(top>Max){return 0;}else{top++;queue [top]=value;return 1;}}int pop(){If(top<0){return 0;}else{int result = queue [0];int i=0;for(i=0;i<=top-1;i++){queue[i]=queue[i+1];}top--;return result;}}int clear(){top=-1;}1.陶陶摘苹果NOIP 2005 普及【问题描述】陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。

相关文档
最新文档