NOIP2012提高组day1
NOIP2012山东提高组成绩

5 40 0 70 70 70 65 45 70 65 10 50 55 70 65 50 70 70 0 0 70 60 50 0 5 0 50 35 5 70 5 20 5 0 0 5 0 50 5 5 5 5 5 0 5 5 10 50 25 0 0
50 50 40 20 20 20 10 30 40 60 60 30 30 10 0 40 50 10 60 60 10 20 20 60 20 0 20 60 60 60 60 40 50 60 50 40 50 20 50 60 50 50 40 50 30 60 60 60 20 20 40
SD-231 SD-343 SD-449 SD-450 SD-066 SD-164 SD-413 SD-183 SD-218 SD-235 SD-424 SD-467 SD-514 SD-004 SD-084 SD-095 SD-214 SD-294 SD-369 SD-371 SD-435 SD-112 SD-247 SD-285 SD-338 SD-382 SD-390 SD-131 SD-196 SD-203 SD-510 SD-068 SD-099 SD-246 SD-277 SD-370 SD-451 SD-512 SD-080 SD-263 SD-495 SD-044 SD-054 SD-073 SD-158 SD-213 SD-241 SD-344 SD-070 SD-143 SD-166
drive 70 100 100 70 70 70 65 70 70 95 70 70 70 70 70 65 70 70 50 70 70 95 70 25 5 70 70 70 70 70 70 70 10 70 70 65 70 65 50 65 70 50 45 55 15 65 5 65
noip 2012 提高组 解题报告-推荐下载

对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
NOIP2012提高组初赛试题与答案

s3[tmpLen+1] = '\0'; if (right[x] >= 0) check(right[x]); } void dfs(int x, int th) { if (th == n) {
s3[0] = '\0'; check(0); if (strcmp(s2, s3) == 0) {
文件交互的一种软件。
A. 资源管理器
B. 浏览器
C. 电子邮件
D. 编译器
3. 目前个人电脑的( )市场占有率最靠前的厂商包括 Intel、AMD 等公司。
A. 显示器
B. CPU
C. 内存
D. 鼠标
4. 无论是 TCP/IP 模型还是 OSI 模型,都可以视为网络的分层模型,每个网络协议都会被
归入某一层中。如果用现实生活中的例子来比喻这些“层”,以下最恰当的是( )。
ans = 0; calc(0, 1); printf("%d\n", ans); } return; } if (left[x] == -1 && right[x] == -1) { left[x] = th; father[th] = x; dfs(th, th+1); father[th] = -1; left[x] = -1; } if (right[x] == -1) { right[x] = th; father[th] = x; dfs(th, th+1); father[th] = -1; right[x] = -1; } if (father[x] >= 0) dfs(father[x], th); } int main() {
noip2012 解析

小结和问题
• 一个函数的三要素是定义域,值域和对应关系, 而通常,我们对值域、定义域的关注较少。这是在 数学和信息学中都要注意的。 考虑到全部可能的情况是模拟题的关键,如果漏 掉某一情况那么很可能这道题你就会爆0。。 细节!模拟的题目基本上都没有多大思考的难度, 但一旦你不注意细节,别人就和你拉开了差距。
Game p1432
• 思路:其实是一个很经典的贪心模型,但是加了恶心的 高精度。 • 可以看到即使交换相邻两个人的位置,前面所有人的左 手积也是不变的。如图*: 我们设n1前的左手积为S,则
求的是max(s/r1,s*l1/r2) ;A式
大臣编号:... n1 n2
交换n1,n2之后,max(s*r2,s*l2/r1);B式 若A<=B,则化简后推出:r1*l1<=r2*l2; 即左右手乘积小的,要放在前面,可保证max 最小
• 这样我们就得到公式m=c-k。 • 但是仅仅这样就完了么?m必须要大于等于0。而 当c<k时的情况可能出现么?
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1 2
0
1 2
1
2 3
2
3 4
3
4 5
4
5 6
5
6 7
6
7 8
7
8 9
8
9 ...
9
...
...
3
4 5 6 7 8
3
4 5 6 7 8
4
•
•
•
考场上实在做不出来就要爆搜或骗分,怎么搜?怎么 骗?提示:P13 的方案B可以试一下。建议学习《骗分 导论》。
noip复习资料(提高组c++版)

NOIP复习资料(C++版)主编葫芦岛市一高中李思洋前言有一天,我整理了NOIP的笔记,并收集了一些经典算法。
不过我感觉到笔记比较凌乱,并且有很多需要修改和补充的内容,于是我又搜集一些资料,包括一些经典习题,在几个月的时间内编写出了《NOIP复习资料》。
由于急于在假期之前打印出来并分发给同校同学(我们学校既没有竞赛班,又没有懂竞赛的老师。
我们大家都是自学党),《NOIP复习资料》有很多的错误,还有一些想收录而未收录的内容。
在“减负”的背景下,暑期放了四十多天的假。
于是我又有机会认真地修订《NOIP复习资料》。
我编写资料的目的有两个:总结我学过(包括没学会)的算法、数据结构等知识;与同学共享NOIP知识,同时使我和大家的RP++。
大家要清醒地认识到,《NOIP复习资料》页数多,是因为程序代码占了很大篇幅。
这里的内容只是信息学的皮毛。
对于我们来说,未来学习的路还很漫长。
基本假设作为自学党,大家应该具有以下知识和能力:①能够熟练地运用C++语言编写程序(或熟练地把C++语言“翻译”成Pascal语言);②能够阅读代码,理解代码含义,并尝试运用;③对各种算法和数据结构有一定了解,熟悉相关的概念;④学习了高中数学的算法、数列、计数原理,对初等数论有一些了解;⑤有较强的自学能力。
代码约定N、M、MAX、INF是事先定义好的常数(不会在代码中再次定义,除非代码是完整的程序)。
N、M、MAX针对数据规模而言,比实际最大数据规模大;INF针对取值而言,是一个非常大,但又与int的最大值有一定差距的数,如100000000。
对于不同程序,数组下标的下限也是不同的,有的程序是0,有的程序是1。
阅读程序时要注意。
阅读顺序和方法没听说过NOIP,或对NOIP不甚了解的同学,应该先阅读附录E,以加强对竞赛的了解。
如果不能顺利通过初赛,你就应该先补习初赛知识。
这本《NOIP复习资料》总结的是复赛知识。
如果没有学过C++语言,应该先选择一本C++语言教材。
2012noip提高组初赛试题

三、问题求解(共 2 题,每题 5 分,共计 10 分) 1. 2. 256 5536
四、阅读程序写结果(共 4 题,每题 8 分,其中第 3 题的 2 个小题各 4 分,共计 32 分) 1. 2. 3. 4. 41 16 (1)7 (2)2004 55 (4 分) (4 分)
五、完善程序(第 1 题第 2 空 3 分,其余每空 2.5 分,共计 28 分)以下各程序填空可能还有一些等价的 写法,各省赛区可请本省专家审定和上机验证,可以不上报 CCF NOI 科学委员会检查。 Pascal 语言 1 ① ② ③ ④ ⑤ 2 ① ② ③ ④ ⑤ ⑥ next := (k mod c) + 1 s[n] := q[tail] q[head] q[head] q[tail] next(head) false used[data[i]] := false used[data[i]] = false j n break return (k % c) + 1 s[n] = q[tail] C++语言 C 语言 0 used[data[i]] = 0
其中,Pascal 语言和 C++语言中的 false 可以用 0 代替;第 2 题第 1 空中的圆括号可以省略。
第十八届全国青少年信息学奥林匹克联赛初赛 提高组参考答案
一、单项选择题(共 10 题,每题 1.5 分,共计 15 分) 1 A 2 B 3 B 4 A 5 D 6 A 7 A 8 D 9 A 10 B
二ቤተ መጻሕፍቲ ባይዱ不定项选择题(共 10 题,每题 1.5 分,共计 15 分,多选或少选均不得分) 1 A 6 CD 2 AD 7 AB 3 AD 8 A 4 BD 9 CD 5 ABC 10 BD
NOIP2012年四川提高组成绩

0 65 70 0 70 0 5 70 0 65 0 0 65 5 65 65 70 5 70 0 0 40 70 0 0 70 0 5 5 25 5 70 0 55 5 15 0 0 5 0 0 5 50 0 5 0 0 0 10 0 5
20 60 60 60 20 0 20 50 10 30 60 20 40 50 20 20 0 40 20 0 60 10 0 50 0 40 0 60 70 0 70 0 70 40 70 10 60 50 60 40 50 10 10 10 10 50 40 40 60 50 0
谢星宇 SC-143 俞快 SC-170 于志竟成 SC-174 李博文 SC-278 李鸿丞 SC-309 颜奕林 SC-313 刘犇 SC-348 刘云浩 SC-041 郭代禹 SC-042 李观之 SC-057 李炊健 SC-209 张源 SC-282 向东伟 SC-026 高旺 SC-052 周子健 SC-319 杨昱天 SC-322 白云仁 SC-009 何相龙 SC-119 胥颖 SC-153 熊芮铭 SC-199 曾启立 SC-221 余洋 SC-229 杨航 SC-289 肖斯宇 SC-330 蔡铭飞 SC-021 杨皓然 SC-094 李东朗 SC-176 黄磊 SC-293 胥世承 SC-321 罗义翀 SC-088 卢俊辰 SC-106 文瀚杰 SC-152 廖景伊 SC-267 杨锐涵 SC-290 李昂 SC-007 匡劢 SC-087 李珂 SC-092 齐聪 SC-103 苏哲宸 SC-112 杜衡 SC-121 余欣健 SC-157 林石磊 SC-171 陈力衍 SC-182 罗睿 SC-271 叶逸凡 SC-345 刘天宇 SC-349 王塬 SC-032 李海啸 SC-379 冯禹锟 SC-015 史可 SC-065 杨鸿宇 SC-145
NOI2012第一试

第29届全国青少年信息学奥林匹克竞赛CCF NOI 2012第一试竞赛时间:2012年7月30日 8:00-13:00注意:最终测试时,所有编译命令均不打开任何优化开关。
随机数生成器【问题描述】栋栋最近迷上了随机算法,而随机数生成是随机算法的基础。
栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法需要设置四个非负整数参数 m,a,c,X0,按照下面的公式生成出一系列随机数<X n>:X n+1=(aX n + c) mod m其中 mod m 表示前面的数除以 m 的余数。
从这个式子可以看出,这个序列的下一个数总是由上一个数生成的。
用这种方法生成的序列具有随机序列的性质,因此这种方法被广泛地使用,包括常用的C++和Pascal的产生随机数的库函数使用的也是这种方法。
栋栋知道这样产生的序列具有良好的随机性,不过心急的他仍然想尽快知道X n是多少。
由于栋栋需要的随机数是0,1,…,g−1 之间的,他需要将 X n除以 g 取余得到他想要的数,即 X n mod g,你只需要告诉栋栋他想要的数X n mod g 是多少就可以了。
【输入格式】输入文件random.in中包含6个用空格分割的整数 m,a,c,X0,n 和 g ,其中 a,c,X0是非负整数,m,n,g 是正整数。
【输出格式】输出到文件random.out中,输出一个数,即 X n mod g。
【样例输入】11 8 7 1 5 3【样例输出】2【样例说明】<X n>因此答案为 X5【数据规模与约定】骑行川藏【问题描述】蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨。
川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因此在每天的骑行前设定好目的地、同时合理分配好自己的体力是一件非常重要的事情。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CCF全国信息学奥林匹克联赛(NOIP2012)复赛提高组 day1(请选手务必仔细阅读本页内容)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。
2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
3、全国统一评测时采用的机器配置为:CPU Intel Core2 Quad Q8200 2.33GHz, 内存2G,上述时限以此配置为准。
4、特别提醒:评测在NOI Linux下进行。
1.Vigenère密码(vigenere.cpp/c/pas)【问题描述】16世纪法国外交家Blaise de Vigenère设计了一种多表密码加密算法——Vigenère密码。
Vigenère密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。
在密码学中,我们称需要加密的信息为明文,用M表示;称加密后的信息为密文,用C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中输入的数据,记为k。
在Vigenère密码中,密钥k是一个字母串,k=k1k2…k n。
当明文M=m1m2…m n时,得到的密文C=c1c2…c n,其中c i=m i®k i,运算®的规则如下表所示:®【输入】输入文件名为vigenere.in。
输入共2行。
第一行为一个字符串,表示密钥k,长度不超过100,其中仅包含大小写字母。
第二行为一个字符串,表示经加密后的密文,长度不超过1000,其中仅包含大小写字母。
【输出】输出文件名为vigenere.out。
输出共1行,一个字符串,表示输入密钥和密文所对应的明文。
对于100%的数据,输入的密钥的长度不超过100,输入的密文的长度不超过1000,且都仅包含英文字母。
2.国王游戏(game.cpp/c/pas)【问题描述】恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏。
首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。
然后,让这n位大臣排成一排,国王站在队伍的最前面。
排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。
国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他重新安排一下队伍的顺序,使得获得奖赏最多的大臣,所获奖赏尽可能的少。
注意,国王的位置始终在队伍的最前面。
【输入】输入文件为game.in。
第一行包含一个整数n,表示大臣的人数。
第二行包含两个整数a和b,之间用一个空格隔开,分别表示国王左手和右手上的整数。
接下来n行,每行包含两个整数a和b,之间用一个空格隔开,分别表示每个大臣左手和右手上的整数。
【输出】输出文件名为game.out。
输出只有一行,包含一个整数,表示重新排列后的队伍中获奖赏最多的大臣所获得的金币数。
【输入输出样例】【输入输出样例说明】按1、2、3号大臣这样排列队伍,获得奖赏最多的大臣所获得金币数为2;按1、3、2这样排列队伍,获得奖赏最多的大臣所获得金币数为2;按2、1、3这样排列队伍,获得奖赏最多的大臣所获得金币数为2;按2、3、1这样排列队伍,获得奖赏最多的大臣所获得金币数为9;按3、1、2这样排列队伍,获得奖赏最多的大臣所获得金币数为2;按3、2、1这样排列队伍,获得奖赏最多的大臣所获得金币数为9。
因此,奖赏最多的大臣最少获得2个金币,答案输出2。
【数据范围】对于20%的数据,有1≤ n≤ 10,0 < a、b < 8;对于40%的数据,有1≤ n≤20,0 < a、b < 8;对于60%的数据,有1≤ n≤100;对于60%的数据,保证答案不超过109;对于100%的数据,有1 ≤ n ≤1,000,0 < a、b < 10000。
3.开车旅行(drive.cpp/c/pas)【问题描述】小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i的海拔高度为H i,城市i和城市j之间的距离d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i,j]=|H i−H j|。
旅行过程中,小A和小B轮流开车,第一天小A开车,之后每天轮换一次。
他们计划选择一个城市S作为起点,一直向东行驶,并且最多行驶X公里就结束旅行。
小A和小B 的驾驶风格不同,小B总是沿着前进方向选择一个最近的城市作为目的地,而小A总是沿着前进方向选择第二近的城市作为目的地(注意:本题中如果当前城市到两个城市的距离相同,则认为离海拔低的那个城市更近)。
如果其中任何一人无法按照自己的原则选择目的城市,或者到达目的地会使行驶的总距离超出X公里,他们就会结束旅行。
在启程之前,小A想知道两个问题:1.对于一个给定的X=X0,从哪一个城市出发,小A开车行驶的路程总数与小B行驶的路程总数的比值最小(如果小B的行驶路程为0,此时的比值可视为无穷大,且两个无穷大视为相等)。
如果从多个城市出发,小A开车行驶的路程总数与小B行驶的路程总数的比值都最小,则输出海拔最高的那个城市。
2. 对任意给定的X=X i和出发城市S i,小A开车行驶的路程总数以及小B行驶的路程总数。
【输入】输入文件为drive.in。
第一行包含一个整数N,表示城市的数目。
第二行有N个整数,每两个整数之间用一个空格隔开,依次表示城市1到城市N的海拔高度,即H1,H2,……,H n,且每个H i都是不同的。
第三行包含一个整数X0。
第四行为一个整数M,表示给定M组S i和X i。
接下来的M行,每行包含2个整数S i和X i,表示从城市S i出发,最多行驶X i公里。
【输出】输出文件为drive.out。
输出共M+1行。
第一行包含一个整数S0,表示对于给定的X0,从编号为S0的城市出发,小A开车行驶的路程总数与小B行驶的路程总数的比值最小。
接下来的M行,每行包含2个整数,之间用一个空格隔开,依次表示在给定的S i和X i下小A行驶的里程总数和小B行驶的里程总数。
【输入输出样例1】【输入输出样例1说明】各个城市的海拔高度以及两个城市间的距离如上图所示。
如果从城市1出发,可以到达的城市为2,3,4,这几个城市与城市1的距离分别为1,1,2,但是由于城市3的海拔高度低于城市2,所以我们认为城市3离城市1最近,城市2离城市1第二近,所以小A会走到城市2。
到达城市2后,前面可以到达的城市为3,4,这两个城市与城市2的距离分别为2,1,所以城市4离城市2最近,因此小B会走到城市4。
到达城市4后,前面已没有可到达的城市,所以旅行结束。
如果从城市2出发,可以到达的城市为3,4,这两个城市与城市2的距离分别为2,1,由于城市3离城市2第二近,所以小A会走到城市3。
到达城市3后,前面尚未旅行的城市为4,所以城市4离城市3最近,但是如果要到达城市4,则总路程为2+3=5>3,所以小B会直接在城市3结束旅行。
如果从城市3出发,可以到达的城市为4,由于没有离城市3第二近的城市,因此旅行还未开始就结束了。
如果从城市4出发,没有可以到达的城市,因此旅行还未开始就结束了。
【输入输出样例2说明】当X=7时,如果从城市1出发,则路线为1 -> 2 -> 3 -> 8 -> 9,小A走的距离为1+2=3,小B走的距离为1+1=2。
(在城市1时,距离小A最近的城市是2和6,但是城市2的海拔更高,视为与城市1第二近的城市,所以小A最终选择城市2;走到9后,小A只有城市10可以走,没有第2选择可以选,所以没法做出选择,结束旅行)如果从城市2出发,则路线为2 -> 6 -> 7 ,小A和小B走的距离分别为2,4。
如果从城市3出发,则路线为3 -> 8 -> 9,小A和小B走的距离分别为2,1。
如果从城市4出发,则路线为4 -> 6 -> 7,小A和小B走的距离分别为2,4。
如果从城市5出发,则路线为5 -> 7 -> 8 ,小A和小B走的距离分别为5,1。
如果从城市6出发,则路线为6 -> 8 -> 9,小A和小B走的距离分别为5,1。
如果从城市7出发,则路线为7 -> 9 -> 10,小A和小B走的距离分别为2,1。
如果从城市8出发,则路线为8 -> 10,小A和小B走的距离分别为2,0。
如果从城市9出发,则路线为9,小A和小B走的距离分别为0,0(旅行一开始就结束了)。
如果从城市10出发,则路线为10,小A和小B走的距离分别为0,0。
从城市2或者城市4出发小A行驶的路程总数与小B行驶的路程总数的比值都最小,但是城市2的海拔更高,所以输出第一行为2。
【数据范围】对于30%的数据,有1≤N≤20,1≤M≤20;对于40%的数据,有1≤N≤100,1≤M≤100;对于50%的数据,有1≤N≤100,1≤M≤1,000;对于70%的数据,有1≤N≤1,000,1≤M≤10,000;对于100%的数据,有1≤N≤100,000,1≤M≤10,000,-1,000,000,000≤H i≤1,000,000,000,0≤X0≤1,000,000,000,1≤S i≤N,0≤X i≤1,000,000,000,数据保证H i互不相同。