主题:[讨论]NOIP2009
abcwuhang
[专家分:1840] 发布于 2009-10-17 18:00:00
就快要考NOIP2009初赛了,不知大家考得如何?
我们这边今天考完了~~
欢迎提供试题。。
抛砖引玉:给出一拓扑排序的图,求拓扑排序种数。。
回复列表 (共21个回复)
沙发
abcwuhang [专家分:1840] 发布于 2009-10-17 18:02:00
不过我们这边有不定项选择题,超基础也超难,估计10题只对3、4题吧。。
大家呢?。。
板凳
abcwuhang [专家分:1840] 发布于 2009-10-17 20:51:00
附上答案:
一、单项选择题:(每题1.5分)
1. C 2. A 3. D 4. B 5. D
6. B 7. B 8. A 9. A 10. C
二、 不定项选择题 (共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。
1. AB 2. BD 3. BC 4. C 5. BD
6. ABD 7. AC 8. ABC 9. ABCD 10. ACD
三、问题求解:(共2题,每空5分,共计10分)
1.432
2.35
四、阅读程序写结果(共4题,每题8分,共计32分)
1. 3
2. 5850
3. 487 (杨辉三角)
4. 0.(384615)(分数变小数)
五.完善程序 (前5空,每空2分,后6空,每空3分,共28分)
(说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查)
1.
① 0
② tmp+a[i]=ans或者 a[i]+tmp=ans 或者ans=a[i]+tmp等
③ <0
④ i
⑤ inc(tmp, a[i])或者tmp := tmp+a[i]
2.
① now<=maxnum 或者 not(now>maxnum)
② first-second
③ (ans-1)
④ hash[first]>=ans 或者 hash[second]>=ans 或者 hash[first+delta]>=ans
⑤ ok
⑥ work(0)
PS:完善程序第2题第2个空现在还不知是second-first还是first-second,正在吵。。
3 楼
abcwuhang [专家分:1840] 发布于 2009-10-17 20:54:00
附上题目。。
一.单项选择题 (共10题,每题1.5分,共计15分,每题有且仅有一个正确答案。)
1、关于图灵机下面的说法哪个是正确的:
A)图灵机是世界上最早的电子计算机。
B)由于大量使用磁带操作,图灵机运行速度很慢。
C)图灵机只是一个理论上的计算模型。
D)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。
2、关于BIOS下面的说法哪个是正确的:
A)BIOS是计算机基本输入输出系统软件的简称。
B)BIOS里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的驱动程序。
C)BIOS一般由操作系统厂商来开发完成。
D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。
3、已知大写字母A的ASCII编码为65(十进制),则大写字母J的十六进制ASCII编码为:
A)48 B)49 C)50 D)以上都不是
4、在字长为16位的系统环境下,一个16位带符号整数的二进制补码为1111111111101101。其对应的十进整数应该是:
A)19 B)-19 C)18 D)-18
5、一个包含n个分支结点(非叶结点)的非空满k叉树,k>=1,它的叶结点数目为:
A)nk+1 B)nk-1 C)(k+1)n-1 D)(k-1)n+1
6、表达式a*(b+c)-d的后缀表达式是:
A)abcd*+- B)abc+*d- C)abc*+d- D)-+*abcd
7、最优前缀编码,也称Huffman编码。这种编码组合的特点是对于较频繁使用的元素给与较短的唯一编码,以提高通讯的效率。下面编码组合哪一组不是合法的前缀编码:
A)(00,01,10,11)
B)(0,1,00,11)
C)(0,10,110,111)
D)(1,01,000,001)
8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:
A)平均情况O(nlog(2,n)),最坏情况O(n^2)
B)平均情况O(n),最坏情况O(n^2)
C)平均情况O(n),最坏情况O(nlog(2,n))
D)平均情况O(log(2,n)),最坏情况O(n^2)
9、左图(被我放到下面了……)给出了一个加权无向图,从顶点V0开始用prim算法求最小生成树。则依次加入最小生成树的顶点集合的顶点序列为:
A)V0,V1,V2,V3,V5,V4
B)V0,V1,V5,V4,V3,V3
C)V1,V2,V3,V0,V5,V4
D)V1,V2,V3,V0,V4,V5
PS:图太麻烦了,懒得贴。。
10、全国信息学奥林匹克的官方网站为参与信息学竞赛的老师同学们提供相关的信息和资源,请问全国信息学奥林匹克官方网站的网址是:
A)http://www.noi.com/
B)http://www.noi.org/
C)http://www.noi.cn/
D)http://www.xinxixue.com/
二.不定项选择题(共10题,每题1.5分,共计15分,每题正确答案的个数不少于1。多选或少选均不得分)。
1、关于CPU下面哪些说法是正确的:
A)CPU全称为中央处理器(或中央处理单元)。
B)CPU能直接运行机器语言。
C)CPU最早是由Intel公司发明的。
D)同样主频下,32位的CPU比16位的CPU运行速度快一倍。
2、关于计算机内存下面的说法哪些是正确的:
A)随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。
B)一般的个人计算机在同一时刻只能存/取一个特定的内存单元。
C)计算机内存严格来说包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。
D)1MB内存通常是指1024*1024字节大小的内存。
3、关于操作系统下面说法哪些是正确的:
A.多任务操作系统专用于多核心或多个CPU架构的计算机系统的管理。
B.在操作系统的管理下,一个完整的程序在运行过程中可以被部分存放在内存中。
C.分时系统让多个用户可以共享一台主机的运算能力,为保证每个用户都得到及时的响应通常会采用时间片轮转调度的策略。
D.为了方便上层应用程序的开发,操作系统都是免费开源的。
4、关于计算机网络,下面的说法哪些是正确的:
A)网络协议之所以有很多层主要是由于新技术需要兼容过去老的实现方案。
B)新一代互联网使用的IPv6标准是IPv5标准的升级与补充。
C)TCP/IP是互联网的基础协议簇,包含有TCP和IP等网络与传输层的通讯协议。
D)互联网上每一台入网主机通常都需要使用一个唯一的IP地址,否则就必须注册一个固定的域名来标明其地址。
5、关于HTML下面哪些说法是正确的:
A)HTML全称超文本标记语言,实现了文本、图形、声音、乃至视频信息的统一编码。
B)HTML不单包含有网页内容信息的描述,同时也包含对网页格式信息的定义。
C)网页上的超链接只能指向外部的网络资源,本网站网页间的联系通过设置标签来实现。
D)点击网页上的超链接从本质上就是按照该链接所隐含的统一资源定位符(URL)请求网络资源或者网络服务。
6、若3个顶点的无权图G的邻接矩阵用数组存储为{{0,1,1}{1,0,1}{0,1,0}},假定在具体存储中顶点依次为:v1,v2,v3 关于该图,下面的说法哪些是正确的:
A)该图是有向图。
B)该图是强联通的。
C)该图所有顶点的入度之和减所有顶点的出度之和等于1。
D)从v1开始的深度优先遍历所经过的顶点序列与广度优先的顶点序列是相同的。
7、在带尾指针(链表指针clist指向尾结点)的非空循环单链表中每个结点都以next字段的指针指向下一个节点。假定其中已经有了2个以上的结点。下面哪些说法是正确的:
A)如果p指向一个待插入的新结点,在头部插入一个元素的语句序列为:
p^.next:=clist^.next;clist^.next:=p;
B)如果p指向一个待插入的新结点,在尾部插入一个元素的语句序列为:
p^.next:=clist;clist^.next:=p;
C)在头部删除一个结点的语句序列为:
p:=clist^.next;clist^.next:=clist^.next^.next;dispose(p);
D)在尾部删除一个结点的语句序列为:
p:=clist;clist:=clist^.next;dispose(p);
8、散列表的地址区间为0-10,散列函数为H(K)=K mod 11。采用开地址法的线性探查法处理冲突,并将关键字序列26,25,72,38,8,18,59存储到散列表中,这些元素存入散列表的顺序并不确定。假定之前散列表为空,则元素59存放在散列表中的可能地址有:
A)5 B)7 C)9 D)10
9、排序算法是稳定的意思是关键码相同的记录排序前后相对位置不发生改变,下列哪些排序算法是稳定的:
A)插入排序 B)基数排序 C)归并排序 D)冒泡排序
10、在参加NOI系列竞赛过程中,下面哪些行为是被严格禁止的:
A)携带书写工具,手表和不具有通讯功能的电子词典进入赛场。
B)在联机测试中通过手工计算出可能的答案并在程序里直接输出答案来获取分数。
C)通过互联网搜索取得解题思路。
D)在提交的程序中启动多个进程以提高程序的执行效率。
三.问题求解(共2题,每空5分,共计10分)
1.拓扑排序是指将有向无环图G中的所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v>∈E(G),则u在线性序列中出现在v之前,这样的线性序列成为拓扑序列。如下的有向无环图,对其顶点做拓扑排序,则所有可能的拓扑序列的个数为______。
PS:图片发布上来,大致是这样的:
1-->5
\
->2-->3-->4--->6
\ /
->7-
8--------->9 PS:8和9与1~7无关联。
2、某个国家的钱币面值有1,7,7^2,7^3共计四种,如果要用现金付清10015元的货物,假设买卖双方各种钱币的数量无限且允许找零,那么交易过程中至少需要流通______张钱币。
四.阅读程序写结果(共4题,每题8分,共计32分)
1.
var
a,b:integer;
function work(a,b:integer):integer;
begin
if a mod b <> 0 then
work := work(b,a mod b)
else
work := b;
end;
begin
read(a,b);
writeln(work(a,b));
end.
输入:123 321
输出:______
4 楼
abcwuhang [专家分:1840] 发布于 2009-10-17 20:56:00
第二辑::
2.
var
a,b:array[0..3]of integer;
i,j,tmp:integer;
begin
for i := 0 to 3 do
read(b[i]);
for i := 0 to 3 do
begin
a[i] := 0;
for j := 0 to i do
begin
inc(a[i],b[j]);
inc(b[a[i] mod 4],a[j]);
end;
end;
tmp:=1;
for i := 0 to 3 do
begin
a[i] := a[i] mod 10;
b[i] := b[i] mod 10;
tmp := tmp * (a[i] + b[i]);
end;
writeln(tmp);
end.
输入:2 3 5 7
输出:______
3.
const
y = 2009;
maxn = 50;
var
n,i,j,s:longint;
c:array[0..maxn,0..maxn]of longint;
begin
s := 0;
read(n);
c[0,0] := 1;
for i := 1 to n do
begin
c[i,0] := 1;
for j := 1 to i - 1 do
c[i,j] := c[i-1,j-1] + c[i-1,j];
c[i,i] := 1;
end;
for i := 0 to n do
s := (s + c[n,i]) mod y;
write(s);
end.
输入:17
输出:______
4.
var
n,m,i,j,k,p:integer;
a,b:array[0..100]of integer;
begin
read(n,m);
a[0] := n;
i := 0;
p := 0;
k := 0;
repeat
for j := 0 to i - 1 do
if a[i] = a[j] then
begin
p := i;
k := j;
break;
end;
if p <> 0 then
break;
b[i] := a[i] div m;
a[i+1] := (a[i] mod m) * 10;
inc(i);
until a[i] = 0;
write(b[0],'.');
for j := 1 to k - 1 do
write(b[j]);
if p <> 0 then
write('(');
for j := k to i - 1 do
write(b[j]);
if p <> 0 then
write(')');
writeln;
end.
输入:5 13
输出:______
五.完善程序(完形填空^_^)(前5空,每空2分,后6空,每空3分,共28分)
1.(最大连续子段和)给出一个数列(元素个数不多于100),数列元素均为负整数、正整数、0。请找出数列中的一个连续子数列,使得这个子数列中包含的所有元素之和最大,在和最大的前提下还要求该子数列包含的元素个数最多,并输出这个最大和以及该连续子数列中元素的个数。例如数列为4,-5,3,2,4时,输出9和3;数列为1 2 3 -5 0 7 8时,输出16和7。
var
a:array[1..100] of integer;
n,i,ans,len,tmp,beg:integer;
begin
read(n);
for i := 1 to n do
read(a[i]);
tmp := 0;
ans := 0;
len := 0;
beg :=__①__;
for i := 1 to n do
begin
if tmp + a[i] > ans then
begin
ans := tmp + a[i];
len := i - beg;
end
else if (__②__) and (i - beg > len) then
len := i - beg;
if tmp + a[i] __③__ then
begin
beg := __④__;
tmp := 0;
end
else
__⑤__;
end;
writeln(ans,' ',len);
end.
5 楼
abcwuhang [专家分:1840] 发布于 2009-10-18 10:48:00
我们这边赛区号称分数线80+,超汗!
大家呢?。。
6 楼
jyuqihn [专家分:0] 发布于 2009-10-18 20:02:00
我们17号刚考完,考的题目有些不一样。我在浙江。
7 楼
abcwuhang [专家分:1840] 发布于 2009-10-25 09:30:00
汗
8 楼
cgl_lgs [专家分:21040] 发布于 2009-10-26 00:45:00
ABC武汉记忆力超强啊。。。
9 楼
飘雪的夜晚 [专家分:0] 发布于 2009-10-29 22:12:00
哎 北京这里的分数线低的可怜 我估计也就20来分不到30 居然进复赛了 ~~~哎
10 楼
cgl_lgs [专家分:21040] 发布于 2009-10-29 22:21:00
当初我比赛时两年的初试,第一次好像是20多吧,第二次是40多~~~
都进复赛了~~~~
我来回复