当前位置:文档之家› noip复习提纲

noip复习提纲

noip复习提纲
noip复习提纲

NOIP初赛复习提纲

综述:初赛考的知识点就是计算机基本常识、基本操作和程序设计基础知识。其中选择题考查的是知识,而问题解决类型的题目更加重视能力的考查。一般说来,选择题只要多用心积累就可以了。问题解决题目的模式比较固定,大家应当做做以前的题目。写运行结果和程序填空也需要多做题目,并且培养良好的程序阅读和分析能力,就像语文的阅读理解一样。近几年来,初赛的考查范围有了很大的变化,越来越紧跟潮流了。这就需要大家有比较广泛的知识,包括计算机硬件、软件、网络、简单的数据结构(例如栈、队列、树和图等)和简单的算法(例如排序、查找和搜索等),程序设计语言以及一些基本的数学知识和技巧。

第一部分计算机基础知识

1.计算机的发展

知识点: 1>.计算机的发展阶段(4代,标志及主要特点)

2>.ENIAC,图灵,冯.诺依曼, Ada Lovelace (第一个程序员)

2.计算机系统

知识点:

1>.计算机硬件

a.组成:运算器,控制器,存储器,IO设备;

b.CPU: 字长,主频(时钟频率),总线;

c.存储器: 内(ROM,RAM),外存储器,种类,单位,存取速度;

d.输入输出设备:扫描仪,数字化仪,绘图仪,打印机(种类)

2>.计算机软件:

a. BIOS (功能);

b.系统软件(包括操作系统:DOS,LINUX,UNIX,WINDOWS,OS/2,MAC/OS和语言的解释或编译程序);

解释程序: 高级语言翻译的一种,它将源语言(如basic)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序.

翻译程序: (编译程序)一类很重要的语言处理程序,它把高级语言(如FORTRAN,COBOL,pascal,c等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这

个目标程序,得到计算结果.

语言: 机器语言汇编语言高级语言(面向对象,面向过程)

c. 应用软件

数据库管理软件:Foxpro,Access,Orale,Sybase,DB2和Informix等。

字处理软件: WPS, word

3>. 计算机的主要性能指标

1.字长

2.速度

3.存储系统容量(bit,B,KB,MB,GB,TB)

3. 数据在计算机中的表示

1>. 数值的表示: 二进制, 八进制, 十六进制, 十进制(包括小数部分的转化)

原码,反码,补码的表示

2>. 字符的表示: ASCII码(128个)

‘0’---48 ‘A’----65 ‘a’----97

汉字的表示: 2个字节(Byte) :机内码,输入码,字型码

3>. 图像的表示

4>. 声音的表示

4. 计算机的维护与使用安全

1>. 计算机的维护与安全使用常识

(电源, 温度, 湿度, 开关机)

2>. 计算机病毒的预防与消除

(何谓病毒, 病毒的特点, 杀毒方式及软件)

第二部分计算机网络

1.计算机网络的定义:

计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享信息资源。

2.计算机网络名词:

ISP: 因特网服务提供商,能提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务。即为用户提供Internet接人和(或)Internet信息服务的公司和机构。如”中国电信”等;

DNS: 域名服务器 ;

FTP: 文件传输协议;

HTTP: 超文本传输协议;

SMTP:简单邮件系统传输协议;

WWW: 万维网;

POP3: 邮件传输协议

ARP:地址解析协议

3.两种网络参考模型

OSI开放式系统互联模型参考模型: (七层)

由下到上: 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层;

TCP/IP 参考模型 (五层)

由下到上:、物理层、数据链路层,互联网层、传输层、应用层

4.网络软件

1>. 计算机协议: (TCP/IP)

a.TCP : Transfer Control Protocol, 传输控制协议

b.IP: Internet Protocol, 网际协议

c.三类IP地址: IPV4

2>. 应用软件:

5.网络硬件

( 网卡, MODEM, 光纤, 双绞线, 同轴电缆, 无线信道)

6.网络分类

计算机网络的类型有很多,而且有不同的分类依据。

按拓扑结构: 总线型、星型、环形、树形

按地域: 局域网、城域网、广域网和网间网

7. 域名的表示

https://www.doczj.com/doc/9215231268.html,

第三部分数据结构

1.简单数据类型:

1. 数值 : integer, real, longint

2. 字符 : char

3. 布尔类型: Boolean

4. 数组: 一维,二维

5. 字符串: string

2.线性表

栈、队列

3.树

二叉树、哈弗曼树

4.图

图的最小生成树、最短路径

第四部分基本及常用算法

第五部分问题求解

队列、栈、二叉树等数据结构、数学问题、归纳法、数列和逻辑推理、排列组合等

附件(一)NOIP试题形式

每次NOIP的试题分四组:普及组初赛题A1、普及组复赛题A2、提高组初赛题B1和提高组复赛题B2。其中,A1和B1类型基本相同,A2和B2类型基本相同,但题目不完全相同,提高组难度高于普及组。

(一)初赛

初赛全部为笔试,满分100分。试题由四部分组成:

1、选择题:共20题,每题1.5分,共计30分。每题有5个备选答案,前10个题为单选题(即每题有且只有一个正确答案,选对得分),后10题为不定项选择题(即每题有1至5

个正确答案,只有全部选对才得分)。普及组20个都是单选题。

2、问题求解题:共2题,每题5分,共计10分。试题给出一个叙述较为简单的问题,要求学生对问题进行分析,找到一个合适的算法,并推算出问题的解。考生给出的答案与标准答案相同,则得分;否则不得分。

3、程序阅读理解题:共4题,每题8分,共计32分。题目给出一段程序(不一定有关于程序功能的说明),考生通过阅读理解该段程序给出程序的输出。输出与标准答案一致,则得分;否则不得分。

4、程序完善题:共2题,每题14分,共计28分。题目给出一段关于程序功能的文字说明,然后给出一段程序代码,在代码中略去了若干个语句或语句的一部分并在这些位置给出空格,要求考生根据程序的功能说明和代码的上下文,填出被略去的语句。填对则得分;否则不得分。

(二)复赛

复赛的题型和考试形式与NOI类似,全部为上机编程题,但难度比NOI低。题目包括4道题,每题100分,共计400分。每一试题包括:题目、问题描述、输入输出要求、样例描述及相关说明。测试时,测试程序为每道题提供了5-10组测试数据,考生程序每答对一组得10-20分,累计分即为该道题的得分。

附件(二)NOIP试题的知识范围(一)初赛内容与要求:

在初赛内容的基础上增加以下内容:

noip练习题

1.质因数分解 描述 已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。 格式 输入格式 输入只有一行包含一个正整数n。 输出格式 输出只有一行包含一个正整数p, 即较大的那个质数。 样例1 样例输入1 21 样例输出1 7 限制 1S 提示 【数据范围】对于60%的数据,6 ≤n ≤1000。对于100%的数据,6 ≤n ≤2*10的9次方 问题分析: 如果一个数n是两个素数的乘积,那么其中一个素数必然小于或等于n的开平方。

AC的C++程序如下: 1.#include 2.#include 3. https://www.doczj.com/doc/9215231268.html,ing namespace std; 5. 6.int main() 7.{ 8.long n; 9. 10. cin >> n; 11. 12.if(n % 2 == 0) 13. cout << n / 2 << endl; 14.else { 15.int start = sqrt(n) / 2; 16. start = start * 2 + 1; 17. 18.for(int i=start; i>=3; i-=2) { 19.if(n % i == 0) { 20. cout << n / i << endl; 21. } 22. } 23. } 24. 25.return 0; 26.} 2.级数求和 问题分析:简单的求和比较问题。 程序说明:需要注意类型。 描述 已知:Sn= 1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。 现给出一个整数K(1<=k<=15),要求计算出一个最小的n;使得Sn>K。

(完整版)NOIP初赛整理分析

通过分析06年到17年的考卷具体的知识点,这里我们把考点分为以下几大类:二进制、计算机基础、网络基础、编程基础、算法、数据结构、数学、数据库、NOI相关。 二进制 在二进制中考察的知识点分为: 整数和实型数二进制,十进制,八进制,十六进制之间的相互转换;补码; 二进制编码; Byte ,KB,MB,GB,TB

其中在试卷中出现次数最多的是整数和实型数二进制之间的相互转换,每年的试卷都会出现,并占据2~3道选择题。其次是Byte ,KB,MB,GB,TB,正在刷题的同学,你们有没有遇到呢? 计算机基础 计算机基础分类中考察到的知识点分为: 计算机基本常识 常用软件(Adobe Acrobat Reader,microsoft软件,Photoshop 等) 计算机硬件 操作系统Windows Linux Solaris 及OS基本概念 32bit 和64 bit机器:寻址空间不同 和计算机相关的奖是:图灵奖 计算机病毒 汇编语言 视频/图像文件格式:AVI RMVB MOV MPG4 JPEG GIF PNG 摩尔定律:18个月翻一番 计算机体系结构:冯诺依曼 像计算机基本常识和常用软件这方面就看同学们的熟悉程度啦,相信同学们都不在话下。需要多注意的是计算机硬件与操作系统的部分,选择题可以考察的点有很多,出现的次数也很多!

网络基础 网络基础考察知识点分为: 邮件协议(POP3,SMTP,IMAP),地址格式 无线通信技术:wifi,蓝牙,GPRS等 传输协议:SSH,FTP,SFTP,SSL,Telnet等 即时通信:QQ,MSN,微信等 IP 地址 IPV4 IPV6 HTML语句,网页搜索 LAN,WLAN,域名 防火墙:防止网络攻击 网络基础每年大概会有1~2道选择题,以上考点在06-17年的试卷中都有出现过,概率比较大的是LAN,WLAN,域名,HTML语句和网页搜索。 编程基础 考点分为:数据类型,分支结构,循环结构,数组,函数等,尤其以循环和数组为重点。

NOIP2014初赛普及组试题_C++

第二十届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 一、快单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项) ⒈以下哪个是面向对象的高级语言( )。 A.汇编语言 B.C++ C.Fortran D.Basic ⒉1TB代表的字节数是( )。 A.2的10次方 B.2的20次方 C.2的30次方 D.2的40次方 ⒊二进制数00100100和00010101的和是( )。 A.00101000 B.001010100 C.01000101 D.00111001 ⒋以下哪一种设备属于输出设备( )。 A.扫描仪 B.键盘 C.鼠标 D.打印机 ⒌下列对操作系统功能的描述最为完整的是( )。 A.负责外设与主机之间的信息交换 B.负责诊断机器的故障 C.控制和管理计算机系统的各种硬件和软件资源的使用 D.将没有程序编译成目标程序 ⒍CPU、存储器、I/O设备是通过( )连接起来的。 A.接口 B.总线 C.控制线 D.系统文件 ⒎断电后会丢失数据的存储器是( )。 A.RAM B.ROM C.硬盘 D.光盘 ⒏以下哪一种是属于电子邮件收发的协议( )。 A.SMTP B.UDP C.P2P D.FTP ⒐下列选项中不属于图像格式的是( )。 A.JPEG格式 B.TXT格式 C.GIF格式 D.PNG格式 ⒑链表不具有的特点是( )。 A.不必事物估计存储空间 B.可随机访问任一元素 C.插入删除不需要移动元素 D.所需空间与线性表长度成正比 ⒒下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。 A.296 B.133 C.256 D.199 ⒓下列几个32位IP地址中,书写错误的是( )。 A.162.105.135.27 B.192.168.0.1 C.256.256.129.1 D.10.0.0.1 ⒔要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。 #include using namespace std; int main() { int n; float s; s = 1.0; for(n = 10; n > 1; n--) s = s + 1 / n; cout << s << endl; return 0; } 程序运行后输出结果错误,导致错误结果的程序行是( )。 A.s = 1.0; B.for(n = 10; n > 1; n--) C.s = s + 1 / n; D.cout << s << endl; ⒕设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。 A.x = (x * 100) + 0.5 / 100.0; B.x = (x * 100 + 0.5) / 100.0; C.x = (int)(x * 100 + 0.5)/100.0; D.x = (x / 100 + 0.5) * 100.0; ⒖有以下程序 #include

NOIP 2017全国青少年信息学奥林匹克联赛提高组初赛试题答案

NOIP 2017全国青少年信息学奥林匹克联赛提高组初赛试题答案 ? 一、单项选择题(共 15 题,每题 1.5 分,共计 22.5 分;每题有且仅有一个正确选项)? 1. 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。 A. 2020 B. 2021 C. 2022 D. 2023 ? 2.在 8 位二进制补码中,10101011 表示的数是十进制下的( )。 A. 43 B. -85 C. -43 D.-84 ? 3.分辨率为 1600x900、16 位色的位图,存储图像信息所需的空间为( )。 A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB ? 4. 2017年10月1日是星期日,1949年10月1日是( )。 A. 星期三 B. 星期日 C. 星期六 D. 星期二 ? 5. 设 G 是有 n 个结点、m 条边(n ≤m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。 A.m–n+1 B. m-n C. m+n+1 D.n–m+1 ? 6. 若某算法的计算时间表示为递推关系式: T(N)=2T(N/2)+NlogN T(1)=1 则该算法的时间复杂度为( )。 A.O(N) B.O(NlogN) C.O(N log2N) D.O(N2) ? 7. 表达式a * (b + c) * d的后缀形式是()。 A. abcd*+* B. abc+*d* C. a*bc+*d D. b+c*a*d

? 8. 由四个不同的点构成的简单无向连通图的个数是( )。 A. 32 B. 35 C. 38 D. 41 ? 9. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。 A. 60 B. 84 C. 96 D.120 ? 10. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。 A. 1/2 B. 2/3 D. 1 ? 11. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。 A. n2 B. nlogn C. 2n D.2n-1 ? 12. 在n(n>=3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重),如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。请把 a-c三行代码补全到算法中。 a. A XUY b. A Z c. n |A| 算法Coin(A,n) 1. k n/3 2. 将A中硬币分成X,Y,Z三个集合,使得|X|=|Y|=k, |Z|=n-2k 3. if W(X)≠W(Y) //W(X), W(Y)分别为X或Y的重量 4. then_______ 5. else_______ 6. __________ 7. if n>2 then goto 1 8. if n=2 then 任取A中1枚硬币与拿走硬币比较,若不等,则它不合格;若相等,则A 中剩下的硬币不合格 9. if n=1 then A中硬币不合格 正确的填空顺序是( )。 A. b,c,a B. c,b,a C. c,a,b D.a,b,c ?

noip信息学奥林匹克竞赛初赛阅读程序题c++版本真题练习

2015年信息学奥赛初赛练习题(一) 阅读程序写结果。(共4题,每题8分) 1.#include using namespace std; int a,b,c,d,e,ans; int main() { cin>>a>>b>>c; 3 d=a+b; 7 e=b+c; 10 ans=d+e; cout< using namespace std; int n,i,ans; int main() { cin>>n; ans=0; for(i=1;i<=n;i++)1 1 1 1 1 1 if(n%i==0) ans++; cout< using namespace std; int n,i,j,a[100][100];

int solve(int x,int y) { int u,v; if(x==n) return a[x][y]; u=solve(x+1,y); v=solve(x+1,y+1); if(u>v) return a[x][y]+u; else return a[x][y]+v; } int main() { cin>>n; for(i=1;i<=n;i++) for(j=1;j<=i;j++) cin>>a[i][j]; cout< #include using namespace std; int n,i,j,ans; string s; char get(int i) { if(i

noip算法总结2016

算法总结 一、动态规划和递推 dp一般的解题步骤: 分析问题,弄清题意——从原问题中抽象出模型——根据模型设计状态,要求状态满足最优子结构和无后效性——直接设计状态有难度的话则需要考虑转化模型——根据设计的状态考虑转移——如果过不了题目要求的数据范围,则需要考虑优化 由于动态规划涉及的内容太多,只言片语难以讲清,所以附件中放了很多篇关于动态规划的文章,大部分系原创,并附上了一些经典的论文,主要讲了DP的优化,一些特殊的状态设计技巧 Dp和递推没有本质区别,都是用一些状态来描述问题,并记录下一些信息,根据已知信息推出未知信息,直到得到问题的解 关于DP的优化有两篇神级论文,放在附件里面了,写的非常好。 二、图论及网络流 最小生成树:克鲁斯卡尔算法和普利姆算法, ——重要性质1:最小生成树上任意两点的路径的最大边最小 ——重要性质2:最小生成树的多解(方案个数)只与相同权值的的边有关(省队集训题生成树计数) 最短路:spfa算法、堆+迪杰斯特拉算法 Spfa算法是基于松弛技术的,随机图效果极佳,最坏(网格图或存在负权环)O(nm),适用于任意图,能够判断负权环 ——判负权环的方法:记录每个点当前从原点到它的最短路上边的条数,如果某次更新后这个条数>n-1则存在负权环 堆+迪杰斯特拉则是用了贪心的思想,不断扩大确定dist的集合,同时更新dist,如果边权有负值就不能做,复杂度是O((n+m)logn)的 拓扑排序:可以将有向图转化为一个线性的序列,满足一个点所有的前驱结点都出现在这个点在序列中的位置之前。可以判断这个有向图是否有环 ——一个简单而实用的扩展:给树做类top排序,可以有类似的功能,即每次去掉叶子结点,将树转化为一个具有拓扑关系的序列 ——再扩展:树同构判断,可用类top确定树根是谁,再最小表示法+hash即可 强连通分量、缩点:tarjan算法 核心是每个点记一个时间戳ti[i], 另外low[i]表示i点能延伸出的搜索树中节点的ti[i]的最小值,还要维护个栈记当前路径上的点,low[i]初始化为ti[i],如果搜完i了,ti[i]=low[i]则当前栈顶到i的所有点会在一个强连同分量内。

NOIP普及组复赛试题源程序

N O I P2011普及组复赛 1.数字反转(c/pas) 【问题描述】 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。(参见样例2) 【输入】 输入文件名为。 输入共一行,一个整数N。 【输出】 输出文件名为。 输出共1行,一个整数,表示反转后的新数。 -1,000,000,000≤N≤1,000,000,000。 【解题】这道题非常简单,可以读字符串处理,也可以读数字来处理,只不过要注意符号问题(以及-0,但测试数据没出)。 【法一】字符串处理 Var i,l,k:integer; s:string; p:boolean; begin assign(input, ''); reset(input); assign(output, ''); rewrite(output); readln(s); l:=length(s); k:=1; if s[1]='-' then begin write('-'); k:=2; end; p:=true;; for i:=l downto k do begin if(p)and((s[i]='0')) then continue else begin write(s[i]); p:=false;; end; end; close(input); close(output); end. 【法二】数字处理 Var f:integer; n,ans:longint; begin assign(input, ''); reset(input);

C++NOIP模拟试题

题目一览 1.这也叫破译?(crack) 【题目描述】 NOIP吧是个很和谐的吧,一直为了OI事业而奋斗。但是,由于吧的日益壮大,各种矛盾还是避免不了。 这两天,传说中的NOIP吧官方群群主接到一封神秘而好笑的信。神秘在于信的表面有两个特别大的字——神秘(⊙﹏⊙b汗);好笑在于信的开头说,你一定猜不出这封信源自何处,结尾处署名CCF(⊙﹏⊙b汗)。 言归正传,CCF的信让老练的群主大吃一惊,觉得也没有招惹过CCF啊。信中说这封信的内容加密过了,你需要完成这封信上的任务,完成之后内容就会自然的显现了(这也叫破译?⊙﹏⊙b汗)。群主觉得这等小事何足挂齿,只是最近ACM那边很多事啊,所以交给你了。(什么?你要推脱?告诉你,群主是个愤青,impossible!!!)

信中给了n 个单词,每个单词都由小写字母构成。信的后面给了一个字母表,字母表如下: a b c d e f g h i j k l m n o p q r s t u v w x y z 4 2 5 6 1 4 5 6 7 2 3 4 8 9 3 1 2 6 8 9 2 6 3 2 5 7 这些字母对应一个数字,暂且称作:权值。一个单词的权值定义为单词所含的字母的权值之和。你的任务是按权值降序(从大到小),(若权值相等,按字符串排序。注:两个字符串先输出长度大的,长度相同输出字典序大的,完全相同则直接输出)输出前m(1<=m<=n)个单词和单词的权值。 【输入格式】 输入文件crack.in包含n+1行; 第一行是整数n,m,表示单词的个数和所需输出的单词的个数; 第2~n+1行,每行一个单词。 【输出格式】 输出文件crack.out包含m行。 第1~m行,每行一个单词和一个权值,单词和权值之间用一个空格隔开。【输入样例】 10 10 noip noi ceoi ctsc apoi usaco nocow vijos tyvj 【输出样例】ctsc 27 vijos 26 nocow 23 crack 23 usaco 22 tyvj 22 noip 20 noi 19 ceoi 16 apoi 15

NOIP2016信息学奥赛普及组初赛C++精彩试题及问题详解较完美版

NOIP2016第二十二届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 竞赛时间:2016年10月22日14:30~16:30 一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项) 1.以下不是微软公司出品的软件是( )。 A.Powerpoint B.Word C.Excel D. Acrobat Reader 2.如果256种颜色用二进制编码来表示,至少需要( )位。 A.6 B.7 C.8 D.9 3.以下不属于无线通信技术的是( )。 A.蓝牙 B.WiFi C.GPRS D.以太网 4.以下不是CPU生产厂商的是( )。 A.Intel B.AMD C.Microsoft D.IBM 5.以下不是存储设备的是( )。 A.光盘 B.磁盘 C.固态硬盘 D.鼠标 6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S 和字母键D的顺序循环按键,即CapsLock、A、S、D、CapsLock、A、S、D、……,屏幕上输出的第81个字符是字母( )。 A.A B.S C.D D.a 7.二进制数00101100和00010101的和是( )。 A.00101000 B.01000001 C.01000100 D.00111000 8.与二进制小数0.1相等的八进制数是( )。 A.0.8 B.0.4 C.0.2 D.0.1 9.以下是32位机器和64位机器的区别的是( )。 A.显示器不同 B.硬盘大小不同 C.寻址空间不同 D.输入法不同 10.以下关于字符串的判定语句中正确的是( ) A.字符串是一种特殊的线性表 B.串的长度必须大于零 C.字符串不可以用数组来表示 D.空格字符组成的串就是空串 11.一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二 叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i 处、右孩子位于下标(2i+1)处),则图中所有结点的最大下标为( ) 。 A.6 B.10 C.12 D.15 12.若有如下程序段,其中s、a、b、c均己定义为整型变量,且a、c均己赋值(c大于0)。 s=a; for (b=1;b<=c;b++) s=s+1; 则与上述程序段修改s值的功能等价的赋值语句是( )。 A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c; 13.有以下程序: #include using namespace std; int main() { int k=4,n=0; while(n

NOIP2017提高组初赛试题及答案

NOIP2017提高组初赛试题及答案 一、单项选择题(共15 题,每题1.5 分,共计22.5 分;每题有且仅有一个正确选项) 1. 从( )年开始,NOIP 竞赛将不再支持Pascal 语言。C A. 2020 B. 2021 C. 2022 D. 2023 2.在8 位二进制补码中,10101011 表示的数是十进制下的( )。B A. 43 B. -85 C. -43 D.-84 3.分辨率为1600x900、16 位色的位图,存储图像信息所需的空间为( )。A A. 2812.5KB B. 4218.75KB C. 4320KB D. 2880KB 4. 2017年10月1日是星期日,1949年10月1日是( )。C A. 星期三 B. 星期日 C. 星期六 D. 星期二 5. 设G 是有n 个结点、m 条边(n ≤m)的连通图,必须删去G 的( )条边,才能使得G 变成一棵树。A A.m–n+1 B. m-n C. m+n+1 D.n–m+1 6. 若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogN T(1)=1 则该算法的时间复杂度为( )。C A.O(N) B.O(NlogN) C.O(N log2N) D.O(N2) 7. 表达式a * (b + c) * d的后缀形式是()。B A. abcd*+* B. abc+*d* C. a*bc+*d D. b+c*a*d 8. 由四个不同的点构成的简单无向连通图的个数是( )。C A. 32 B. 35 C. 38D. 41 9. 将7个名额分给4个不同的班级,允许有的班级没有名额,有( )种不同的分配方案。D A. 60 B. 84 C. 96 D.120 10. 若f[0]=0, f[1]=1, f[n+1]=(f[n]+f[n-1])/2,则随着i的增大,f[i]将接近与( )。B A. 1/2 B. 2/3 D. 1 11. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法最坏情况下至少要做( )次比较。D A. n2 B. Nlogn C. 2n D.2n-1 12. 在n(n>=3)枚硬币中有一枚质量不合格的硬币(质量过轻或质量过重),如果只有一架天平可以用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。请把a-c三行代码补全到算法中。 2. 将A中硬币分成X,Y,Z三个集合,使得|X|=|Y|=k, |Z|=n-2k 3. if W(X)≠W(Y) //W(X), W(Y)分别为X或Y的重量 4. then_______ 5. else_______ 6. __________ 7. if n>2 then goto 1 8. if n=2 then 任取A中1枚硬币与拿走硬币比较,若不等,则它不合格;若相等,则A中剩下的硬币不合格 9. if n=1 then A中硬币不合格 正确的填空顺序是( )。D A. b,c,a B. c,b,a C. c,a,b D.a,b,c 13. 在正实数构成的数字三角形排列形式如图所示,第一行的数为a11;第二行的数从左到右依次为a21,a22;…第n行的数为 an1,an2,…,ann。从a11开始,每一行的数aij只有两条边可以分别通向下一行的两个数a(i+1)j和a(i+1)(j+1)。用动态规划算法找出一条从a11向下通到an1,an2,…,ann中某个数的路径,使得该路径上的数之和达到最大。 令C[i,j]是从a11到aij的路径上的数的最大和,并且C[i,0]=C[0,j]=0,则C[i,j]=( )。A A. max{C[i-1,j-1],C[i-1,j]}+aij B. C[i-1,j-1]+c[i-1,j] C. max{C[i-1,j-1],C[i-1,j]}+1 D. max{C[i,j-1],C[i-1,j]}+aij 14. 小明要去南美洲旅游,一共乘坐三趟航班才能到达目的地,其中第1个航班准点的概率是0.9,第2个航班准点的概率为0.8,第3个航班准点的概率为0.9。如果存在第i个(i=1,2)航班晚点,第i+1个航班准点,则小明将赶不上第i+1个航班,旅行失败;除了这种情况,其他情况下旅行都能成功。请问小明此次旅行成功的概率是( )。D

历年noip普及组(c++)完善程序题总结归纳

完善程序题总结归纳 By:七(6) yx 一、【题目】(哥德巴赫猜想)哥德巴赫猜想是指,任一大于2的偶数都可写成两个质 数之和。迄今为止,这仍然是一个著名的世界难题,被誉为数学王冠上的明珠。试编写程序,验证任一大于2且不超过n的偶数都能写成两个质数之和。 #include using namespace std; int main() { const int SIZE=1000; int n,r,p[SIZE],i,j,k,ans; bool tmp; cin>>n; r=1; p[1]=2; for(i=3;i<=n;i++) { ①; for(j=1;j<=r;j++) if(i% ②==0) { tmp=false; break; } if(tmp) { r++; ③; } } ans=0; for(i=2;i<=n/2;i++) { tmp=false; for(j=1;j<=r;j++) for(k=j;k<=r;k++) if(i+i== ④ )

{ tmp=true; break; } if(tmp) ans++; } cout< #include using namespace std; const int size=100; const int infinity = 10000; const bool left=1; const bool right =0; const bool left_to_right=1; const bool right_to_left=0;

NOIP初赛模拟试题及答案

NOIP初赛模拟试题及答案 一、选择题(共20题,每题1.5分,共计30分。每题有5个备选答案,前10个题为单选题,即 每题有且只有一个正确答案,选对得分;后10题为不定项选择题,即每题有1至5个正确答案,只 有全部选对才得分)。 1.微型计算机的性能主要取决于()。 A)内存B)主板C)中央处理器D)硬盘E)显示器 2. 128KB的存储器用十六进制表示,它的最大的地址码是( ) A)10000 B)EFFF C)1FFFF D)FFFFF E)FFFF 3.能将高级语言程序转换为目标程序的是( ). A)调试程序B)解释程序C)编辑程序D)编译程序E)连接程序 4.A=11001010B,B=00001111B,C=01011100B,则A∨B∧C=( )B A)01011110 B)00001111 C)01011100 D)11001110 E)11001010 5.计算机病毒传染的必要条件是( ) 。 A)在内存中运行病毒程序 B)对磁盘进行读写操作 C)在内存中运行含有病毒的可执行程序 D)复制文件 E)删除文件 6. TCP/IP协议共有( )层协议 A)3 B)4 C)5 D)6 E)7 7.192.168.0.1是属于( ). A)A类地址B)B类地址B)C类地址D)D类地址E)E类地址 8.对给定的整数序列(54,73,21,35,67,78,63,24,89)进行从小到大的排序时,采用快速排序的第 一趟扫描的结果是( ). A)(24,21,35,54,67, 78,63,73,89) B)(24,35,21,54,67, 78,63,73,89) C)(24,21,35,54,67, 63,73,78,89) D)(21,24,35,54,63, 67,73,78,89) E)(24,21,35,54,67, 63,73,78,89) 9.一棵n个结点的完全二叉树,则二叉树的高度h为( ). A)n/2 B)log2n C)(log2n)/2 D) [log2n]+1 E)2n-1

noip2017提高组试题(day1+day2)

CCF全国信息学奥林匹克联赛(NOIP2017)复赛 提高组 day1 (请选手务必仔细阅读本页内容) 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) II x2 240 processor,2.8GHz, 内存4G,上述时限以此配置为准。 4、只提供Linux格式附加样例文件。 5、提交的程序代码文件的放置位置请参照各省的具体要求。 6、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。

1.小凯的疑惑 (math.cpp/c/pas) 【问题描述】 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。 【输入格式】 输入文件名为math.in。 输入数据仅一行,包含两个正整数a和b,它们之间用一个空格隔开,表示小凯手中金币的面值。 【输出格式】 输出文件名为math.out。 输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。 math/math1.in math/math1.ans 【输入输出样例1说明】 小凯手中有面值为3和7的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11的物品,其中最贵的物品价值为11,比11贵的物品都能买到,比如: 12 = 3 * 4 + 7 * 0 13 = 3 * 2 + 7 * 1 14 = 3 * 0 + 7 * 2 15 = 3 * 5 + 7 * 0 …… 【输入输出样例2】 见选手目录下的math/math2.in和math/math2.ans。 【数据规模与约定】 对于30%的数据: 1 ≤ a,b ≤ 50。 对于60%的数据: 1 ≤ a,b ≤ 10,000。 对于100%的数据:1 ≤ a,b ≤ 1,000,000,000。

学习NOIP三个阶段

1、编程语言的学习 PASCAL/C,这个阶段并不需要找什么“竞赛题”,而是踏踏实实的把语言教材上每一章后面的练习认真地做几遍,最好每天都回头看看,不然会忘记的。不要认为后面的练习很简单,一定要认真做。基础的语言语法熟练了以后,再逐步地学一些高级一点的,但是这部分内容可以通过自学(比如自己看书上机编程、看别人的程序、讨论交流等),这样的学习方法不但可以牢固掌握和深刻理会知识点,还提高了自学能力。比如PASCAL书上一般都不讲fillchar的用法,但你经常看到很多程序的开头就用这个语句对数组进行操作,你首先应该自己去“猜”,然后上机实践去验证你的猜想!发现fillchar(a,sizeof(a),0)是用来把数组a制0的。再深入一点,你还可以再看看相关书籍或和他人讨论。而不是直接去问老师,这样的印象和效果会更好。 2、基础算法 如求最小公倍数/最大公约数,高精度(加减乘除/输入输出/组合数),查找排序,素数判定/方程的解/因式分解,进制转换及应用,N皇后问题(回溯法)等; 学算法时,最好先自己想,再实践;然后看标准算法和标准程序,实践。再对比一下优劣,取长补短。最好养成把一些不熟悉的算法隔几天再做一次的习惯。因为有的时候,某个算法在你学习的那几天内可能很熟悉,但是一段时间不用,很容易就忘或者不熟练。 一定要把一些基础打好,这个非常重要。 参加一次初赛:增加经验值! 前进 1、简单数据结构:栈、队列、链表等; 2、复杂一点的数据结构:树和图,基本概念(二叉树的计数)和基本算法 (最短路径等)! 3、简单的深度搜索和广度搜索; 4、更多的算法:动态规划等; 5、初等组合:这是信息学解题的思维方式; 6、图论:主要是基础概念方面的,用于理解算法; 7、数学问题:这类题目有一些考的是数学思维,其中有一部分是考创造能 力的; 一定要加强实战练习,提高熟练程序和解题经验。 复赛中:一定提高正确率!!!

2019年NOIP普及组初赛试题及答案Pascal

第二十一届全国青少年信息学奥林匹克联赛初赛 普及组Pascal语言试题 竞赛时间:2015年10月11日14:30~16:30 选手注意: ●试题纸共有7页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上一律无效。 ●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一.单项选择题(共20题,每题分,共计30分;每题有且仅有一个正确答案。) 1. 1MB等于()。 A. 1000字节 B. 1024字节 C. ?字节 D. ?字节 2. 在PC机中,PENTIUM(奔腾)、酷睿、赛扬等是指()。 A. 生产厂家名称 B. 硬盘型号 C. CPU的型号 D. 显示器的型号 3. 操作系统的作用是()。 A. 把源程序译成目标程序 B. 便于进行数据管理 C. 控制和管理系统资源 D. 实现硬件之间的连接 4. 在计算机内部用于传送、存贮、加工处理的数据或指令都是以()形式进行的。 A. 二进制码 B. 八进制码 C. 十进制码 D. 智能拼音码 5. 下列说法正确的是()。 A. CPU的主要任务是执行数据运算和程序控制 B. 存储器具有记忆能力,其中信息任何时候都不会丢失 C. 两个显示器屏幕尺寸相同,则它们的分辨率必定相同 D. 个人用户只能使用Wifi的方式连接到Internet 6. 二进制数00100100和00010100的和是()。 A. 00101000 B. 01110011 C. 01000100 D. 00111000 7. 与二进制小数相等的十六进制数是()。

A. 0.8 B. 0.4 C. D. 8. 所谓中断是指()。 A. 操作系统随意停止一个程序的运行 B. 当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的过程 C. 因停机而停止一个程序的运行 D. 电脑死机 9. 计算机病毒是()。 A. 通过计算机传播的危害人体健康的一种病毒 B. 人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合 C. 一种由于计算机元器件老化而产生的对生态环境有害的物质 D. 利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒 10. FTP可以用于()。 A. 远程传输文件 B. 发送电子邮件 C. 浏览网页 D. 网上聊天 11. 下面哪种软件不属于即时通信软件()。 A.QQ B.MSN C..P2P 12. 6个顶点的连通图的最小生成树,其边数为()。 A. 6 B. 5 C. 7 D. 4 13. 链表不具备的特点是()。 A.可随机访问任何一个元素 B.插入、删除操作不需要移动元素 C.无需事先估计存储空间大小 D.所需存储空间与存储元素个数成正比 14. 线性表若采用链表存储结构,要求内存可用存储单元地址()。 A. 必须连续 B. 部分地址必须连续 C. 一定不连续 D. 连续不连续均可 15. 今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,

Noip常用算法大全

Noip常用算法大全 一、数论算法 1.求两数的最大公约数 function gcd(a,b:integer):integer; begin if b=0 then gcd:=a else gcd:=gcd (b.a mod b); end ; 2.求两数的最小公倍数 function lcm(a,b:integer):integer; begin if a0 do inc(lcm,a); end; 3.素数的求法 A.小范围内判断一个数是否为质数: function prime (n: integer): Boolean; var I: integer; begin for I:=2 to trunc(sqrt(n)) do if n mod I=0 then begin prime:=false; exit; end; prime:=true; end; B.判断longint范围内的数是否为素数(包含求50000以内的素数表): procedure getprime; var i,j:longint; p:array[1..50000] of boolean; begin fillchar(p,sizeof(p),true); p[1]:=false; i:=2; while i<50000 do begin if p[i] then begin j:=i*2; while j<50000 do

begin {筛选法} p[j]:=false; inc(j,i); end; end; inc(i); end; l:=0; for i:=1 to 50000 do if p[i] then begin inc(l);pr[l]:=i; end; end;{getprime} function prime(x:longint):boolean; var i:integer; begin prime:=false; for i:=1 to l do if pr[i]>=x then break else if x mod pr[i]=0 then exit; prime:=true; end;{prime} 二、图论算法 1.最小生成树 A.Prim算法: procedure prim(v0:integer); var lowcost,closest:array[1..maxn] of integer; i,j,k,min:integer; begin for i:=1 to n do begin lowcost:=cost[v0,i]; closest:=v0; end; for i:=1 to n-1 do begin {寻找离生成树最近的未加入顶点k} min:=maxlongint; for j:=1 to n do if (lowcost[j]0) then begin min:=lowcost[j]; k:=j;

动态规划:NOIP的题目

顺序对齐 源程序名ALIGN.??? (PAS,C,CPP) 可执行文件名ALIGN.EXE 输入文件名ALIGN.IN 输出文件名 ALIGN.OUT 考虑两个字符串右对齐的最佳解法。例如,有一个右对齐方案中字符串是AADDEFGGHC 和ADCDEGH。 AAD_DEFGGHC ADCDE__GH_ 每一个数值匹配的位置值2分,一段连续的空格值-1分。所以总分是匹配点的2倍减去连续空格的段数,在上述给定的例子中,6个位置(A,D,D,E,G,H)匹配,三段空格,所以得分2*6+(-1)*3=9,注意,我们并不处罚左边的不匹配位置。若匹配的位置是两个不同的字符,则既不得分也不失分。 请你写个程序找出最佳右对齐方案。 输入 输入文件包含两行,每行一个字符串,最长50个字符。字符全部是大字字母。 输出 一行,为最佳对齐的得分。 样例 ALIGN.IN AADDEFGGHC ADCDEGH ALIGN.OUT 9 _______________________________________________________________________________ 任务安排 源程序名BATCH.??? (PAS,C,CPP) 可执行文件名BATCH.EXE 输入文件名BATCH.IN 输出文件名 BATCH.OUT N个任务排成一个序列在一台机器上等待完成(顺序不得改变),这N个任务被分成若干批,每批包含相邻的若干任务。从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是T i。在每批任务开始前,机器需要启动时间S,而完成这批任务所需的时间是各个任务需要时间的总和(同一批任务将在同一时刻完成)。每个任务的费用是它的完成时刻乘以一个费用系数F i。请确定一个分组方案,使得总费用最小。

相关主题
文本预览
相关文档 最新文档