求noip2011复赛初赛试题,

第十七届NOIP2011_提高组初赛试题及答案解析(1)....
扫描二维码,下载文件到手机
当前文件信息
浏览:413次
下载:25次
您的VIP会员已过期,是否续费?
用户应遵守著作权法,尊重著作权人合法权益,不违法上传、存储并分享他人作品。举报邮箱:
京网文[0号 京ICP证100780号
《提醒》6月30日即将清空免费用户文件
尊敬的用户,很抱歉地通知您,微盘于6月30日停止向免费个人用户提供存储服务。()您的文件处于排队等待删除状态,无法进行操作,将于近期删除完毕。感谢您5年来对微盘的支持,此次调整给您带来的不便我们深表歉意。
补充说明:
1、新浪VIP邮箱用户、微博会员及在会员有效期内可继续使用存储服务,文件依然保留。
2、微盘近期将对不良信息进行集中清理,因此全面暂停分享及站内搜索服务至整改结束。
3、若您有疑问,可将问题及您的微博昵称私信至@微盘 ,或者发邮件至,我们将尽快为您处理。君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
初赛_____NOIP2011初赛模拟试题1
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口NOIP2011提高组初赛试题
第十七届全国青少年信息学奥林匹克联赛初赛试题
(提高组& Pascal语言&
两小时完成)
●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 ●●
一、单项选择题(共20题,每题1.5分,共计30分,每题有且仅有一个正确选项。)
1、& 在二进制下,1011001+()=1100110。
A、1011& B、1101&
C、1010& D、1111
2、字符“A”的ASCII码为十六进制41,则字符“Z”的ASCII码为十六进制的()。
&&&D、视具体的计算机而定
3、右图是一棵二叉树,它的先序遍历是( )。
A、ABDEFC&&
B、DBEFAC&&
C、DFEBCA&& D、ABCDEF
4、寄存器是( )的重要组成部分。
A、硬盘&&&
B、高速缓存&&&
C、内存&&&
D、中央处理器(CPU)
5、广度优先搜索时,需要用到的数据结构是( )
A.链表&&&&&&&&&&
B.队列&&&&&&&&&&&&&
C.栈&&&&&&&&&&&&&&
D.散列表&
6.在使用高级语言编写程序时,一般提到的“空间复杂度”中的空间是指(&&&
A.程序运行时理论上所占的内存空间&&&
B.程序运行时理论上所占的数组空间
C.程序运行时理论上所占的硬盘空间&&&
D.程序源文件理论上所占的硬盘空间
7.应用快速排序的分治思想,可以实现一个求第K大数的程序。假定不考虑极端的最坏情况,理论上可以实现的最低的算法时间复杂度为(&&&&
(n2)&&&&&&&&&&
B.O (n log n
)&&&&&&&&&
(n)&&&&&&&&
8.为解决web应用中的不兼容问题,保障信息的顺利流通,(&&&&
)制定了一系列标准,涉及HTML、XML、CSS等,并建议开发者遵循。
B.美国计算机协会(ACM)&&
C.联合国教科文组织&& D.万维网联盟(W3C)
9.体育课的铃声响了,同学们都陆续的奔向操场,按老师的要求从高到低站成一排。每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于(&
A.快速排序&&&&&&&&&
B.插入排序&&&&&&&&&
C.冒泡排序&&&&&&&&&
D.归并排序
10.1956年(& )授予肖克利(William Shockley)、巴丁(John
Bardeen)和布拉顿(Walter Brattain)
A.诺物理学奖&&&&&&
B.约翰&冯&诺依曼奖&&
C.图灵奖&&&&&&&&&&&&&&
D.高德纳奖 (Donald E. Knuth Prize)
二、不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数不少于1。多选或少选均不得分)。
1.如果根结点的深度记为1,则一棵恰有2011个叶子结点的二叉树的深度可能是(& )。
A.10&&&&&&&&&&
&&B.11&&&&&&&&&&&&
C.12&&&&&&&&&&&&&
2.在布尔逻辑中,逻辑“或”的性质有(&& )。
&& A.交换律:PVQ =
&&B.结合律:PV(QVR)=(PVQ)VR
&& C.幂等律:PVP =
&&&&&D.有界律:PV1
= 1(1表示逻辑真)
3.一个正整数在十六进制下有100位,则它在二进制下可能有(& )位。
A.399&&&&&&&&&&&
B.400&&&&&&&&&&&
C.401&&&&&&&&&&&
4.汇编语言(&&&
&& A.是一种与具体硬件无关的程序设计语言
B.在编写复杂程序时,相对于高级语言而言代码量大,且不易调试
&& C.可以直接访问寄存器、内存单元、I/O端口
D.随着高级语言的诞生,如今已被完全淘汰,不再使用
5.现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“乎”、“者”、“也”组成,它们出现的次数分别为700、600、300、400。那么,“也”字的编码长度可能是(&
A.1&&&&&&&&&&&&
B.2&&&&&&&&&&&
C.3&&&&&&&&&&&&
6.生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。以下属于生物特征识别技术及其应用的是(&
A.指静脉验证&&&&&&
B.步态验证&&&&&&&&
C.ATM机密码验证&&&
D.声音验证
7.对于序列“7、5、1、9、3、6、8、4”,在不改变顺序的情况下,去掉(&&
)会使逆序对的个数减少3。
A.7&&&&&&&&&&&&&
B.5&&&&&&&&&&&&&
C.3&&&&&&&&&&&&
8.计算机中的数值信息分为整数和实数(浮点数)。实数之所以能够表示很大或者很小的数,是由于使用了(&&&
A.阶码&&&&&&&&&
B.补码&&&&&&&&&&
C.反码&&&&&&&&
D.较长的尾数
9.对右图使用Dijkstra算法计算S点到其余各点的最短路径长度时,到B点的距离d[B]初始时赋为8,在算法的执行过程中还会出现的值有(&&&
A.3&&&&&&&&&&&&&
7&&&&&&&&&&&&&
C.6&&&&&&&&&
10.为计算机网络中进行数据交换而建立的规则、标准或约定的集合称为网络协议。下列英文缩写中,(&&
)是网络协议
A.HTTP&&&&&&&&&&&&&&
B.TCP/IP&&&&&&&&&&&
C.FTP&&&&&&&&&&&&
三.问题求解(共2题,每空5分,共计10分)
1.平面图可以在画在平面上,且它的边仅在顶点上才能相交的简单无向图。4个顶点的平面图至少有6条边,如右图所示。那么,5个顶点的平面图至少有________条边。
2.定义一种字符串操作,一次可以将其中一个元素移到任意位置。举例说明,对于字符串“BCA”可以将A移到B之前,变字符串“ABC”。如果要将字符串“DACHEBGIF”变成“ABCDEFGHI”最少需要________次操作。
四.阅读程序写结果(共4题,每题8分,共计32分)
Const size=100;
Var n,i,sum,x: a:array[1..size]
&Readln(n); fillchar(a,sizeof(a),0);
&For i:=1 to n do
&& Read(x); inc(a[x]);
i:=0; sum:=0;
while sum&(n div 2 + 1) do
inc(i); sum:=sum+a[i];
writeln(i);
4 5 6 6 4 3 3 2 3 2 1
输出:__________&&&&&&
procedure f2(x,y:integer);
procedure f1(x,y:integer);
procedure f2(x,y:integer);
write(x,’ ’);& f1(y,x+y);
readln(n);
输出:__________
Const &v = 100;
visited:array[1..v]
e:array[1..v,1..v]
n,m,ans,i,j,a,b,c:
procedure dfs(x,len:integer);
visited[x] :=
if len & ans then& ans:=
for i:=1 to n do
if (not visited(i)) and(e[x,i] && -1)
dfs(I,len+e[x,i]);
visited[x] :=
readln(n,m);
for i:=1 to n do
&& for j:=1 to n do
e[i][j] := -1;
for i:=1 to m do
readln(a,b,c); &e[a][b]:=c;
&e[b][a]:=c;
for i:=1 to n do& visited[i]:=
for i:=1 to n do& dfs(i,0);
writeln(ans);
输出:______
Const SIZE = 10000; &LENGTH = 10;
var& sum :
&n,m,I,j :
a:array[1..SIZE , 1..LENGTH]
function h(u , v :integer):
var ans,i :
for i:=1 to n do
&& if a[u][i]
&& a[v][i] then&
readln(n);& &fillchar(a,sizeof
(a),0); &m:=1;
while (i &=n) and (a[m][i] =1 ) do&
if i&n then&
inc(m); &a[m][i]:=1;
for j:=i + 1 to n do& a[m][j] := a[m-1][j];
for i := 1 to m do
&& for j := 1 to m do
sum := sum + h(i,j);
writeln(sum);
输出:______
五.完善程序 (第1题,每空2分,第2题,每空3分,共28分)
1.(大整数开方)&
输入一个正整数n(1≤n≤10100),试用二分法计算它的平方根的整数部分。
Const size=200;
Type hugeint=record
&&Num:array[1..size] of
//len表示大整数的位数;num[1]表示个位、num[2]表示十位,以此类推
Target,left,middle,right:
Function times(a,b:hugeint):
Var i,j: ans:
&Fillchar(ans,sizeof(ans),0);
&For i:=1 to a.len do
&& For j:=1 to b.len do
①&&&&
:=ans.num[i + j - 1] + a.num[i] * b.num[j];
for i:=1 to a.len+b.len do
&& ans.num[i + 1] := ans.num[i
+ 1] + ans.num[i] div 10;
②&&; &
if ans.num[a.len + b.len] & 0
then ans.len := a.len + b.len
else ans.len := a.len + b.len - 1;
function add(a,b : hugeint) :
fillchar(ans.num,sizeof(ans.num),0);
if a.len&b.len& then ans.len :=
&else ans.len := b.
for i := 1 to ans.len do
&ans.num[i]:= ③ ;
&ans.num[i+1] := ans.num[i+1] + ans.num[i] div
&ans.num[i] := ans.num[i] mod 10;
if ans.num[ans.len + 1]&0 &then
&inc(ans.len);
function average(a,b: hugeint) :
var &i : ans :
ans := add(a,b);
for i:= ans.len downto 2 do
&ans.num[i-1] := ans.num[i-1] + ( ④ ) *10;
&ans.num[i]:=ans.num[i] div 2;
ans.num[1]:=ans.num[1] div 2;
if ans.num[ans.len] = 0 &then dec(ans.len);
average :=
function plustwo(a : hugeint) :
&ans.num[1] := ans.num[1] + 2;
&while (i &= ans.len) and
(ans.num[i] &= 10) do
&ans.num[i + 1] := ans.num[i + 1] + ans.num[i] div
&ans.num[i] := ans.num[i] mod 10;
&if ans.num[ans.len + 1] &
0& &then ⑤;
&plustwo :=
function over(a , b: hugeint) :
if ( ⑥ ) then
if a.len & b.len then
for i := a.len downto 1 do
if a.num[i] & b.num[i] then
if a.num[i] & b.num[i] then
readln(s);
&&fillchar(target.num,sizeof(target.num),0);
target.len := length(s);
for i := 1 to target.len do
target.num[i] := ord(s[target.len - i +1]) - &⑦
fillchar(left.num,sizeof(left,num),0);
left.len:=1; &&left.num[1]:=1;
middle:=average(left,right);
if over( ⑧ )&& then right :=
&&&&&&&&&else
until over(plustwo(left),right);
for i:= left.len downto 1 do
write(left.num[i]);
(笛卡尔树)对于一个给定的两两不等的正整数序列,笛卡尔树是这样的一棵二叉树:首先,它是一个最小堆,即除了根结点,每个节点的权值都大雨父节点的权值;其次,它的中序遍历恰好就是给定的序列。例如,对于序列7、2、12、1、10、5、15、3,下图就是一棵对应的笛卡尔树。现输入序列的规模n(1≤n&100)和序列的n个元素,试求其对应的笛卡尔树的深度d(根节点深度为1),以及有多少个叶子节点的深度为d。
SIZE = 100;
INFINITY = 1000000;
n , maxDeep, num , i :
a : array[1..SIZE]
procedure solve(left , right , deep : integer);
if deep&maxDeep then
maxDeep :=
else if deep=maxDeep then
min := INFINITY;
for i := left to right do
if min & a[i] then
min := a[i];
if left & j then
readln(n);
for i := 1 to n do
read(a[i]);
maxDeep:=0;
solve( 1, n, 1);
writeln(maxDeep, ‘ ‘, num);
NOIP2011年提高组(Pascal)参考答案与评分标准
一、单项选择题:(每题1.5分)
二、 不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。
ABCD&&&&&&&&
6. ABD&&& 7.
三、问题求解:(共2题,每空5分,共计10分)
四、阅读程序写结果(共4题,每题8分,共计32分)
&2.1 2 5 13 34
五、完善程序(第1题,每空2分,第2题,每空3分,共计28分)
(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)
① ans.num[i+j-1]
② ans.num[i]:=ans.num[i] mod 10
③ ans.num[i]+a.num[i]+b.num[i]
④ ans.num[i] mod 2
⑤ inc(ans.len)
⑥ a.len⑦ ord(‘0’)或48
⑧ times(middle,middle),target
① inc(num)
② j:=i
③ solve(left,j-1,deep+1)
④ solve(j+1,right,deep+1)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。NOIP2011提高组初赛试题(PASCAL)真题扫描版_noip吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:16,277贴子:
NOIP2011提高组初赛试题(PASCAL)真题扫描版收藏
今天下午刚考的,铅笔为正确答案,无视对号和错号。
TOEFL 考试,90% 的考生均进入了第一或第二志愿的大学。
传到百度相册变得不清楚了..2
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 noip2011复赛 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信