NOIP2015提高组C++试题

合集下载

NOIP2015提高组C试题高清文字版

NOIP2015提高组C试题高清文字版

第二十一届全国青少年信息学奥林匹克联赛初赛提高组C语言试题竞赛时间:2015年10月11日14:30~16:30选手注意:●试题纸共有9页,答题纸共有2页,满分100分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共15题,每题1.5分,共计22.5分;每题有且仅有一个正确选项)1.在计算机内部用来传送、存贮、加工处理的数据或指令都是以()形式进行的。

A. 二进制码B. 八进制码C. 十进制码D. 智能拼音码2.下列说法正确的是()。

A. CPU的主要任务是执行数据运算和程序控制B. 存储器具有记忆能力,其中信息任何时候都不会丢失C. 两个显示器屏幕尺寸相同,则它们的分辨率必定相同D. 个人用户只能使用Wifi的方式连接到Internet3.与二进制小数0.1相等的十六进制数是()。

A. 0.8B. 0.4C. 0.2D. 0.14.下面有四个数据组,每个组各有三个数据,其中第一个数据为八进制数,第二个数据为十进制数,第三个数据为十六进制数。

这四个数据组中三个数据相同的是()。

A. 120 82 50 B. 144 100 68 C. 300 200 C8 D. 1762 1010 3F25.线性表若采用链表存储结构,要求内存中可用存储单元地址()。

A. 必须连续B. 部分地址必须连续C. 一定不连续D. 连续不连续均可6.今有一空栈S,对下列待进栈的数据元素序列a,b,c,d,e,f依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S的栈顶元素为()。

A. fB. cC. aD. b7.前序遍历序列与后序遍历序列相同的二叉树为()。

A. 非叶子结点只有左子树的二叉树B. 只有根结点的二叉树C. 根结点无右子树的二叉树D. 非叶子结点只有右子树的二叉树8.如果根的高度为1,具有61个结点的完全二叉树的高度为()。

NOIP2015提高组解题报告

NOIP2015提高组解题报告

NOIP2015提高组解题报告T1 神奇的幻方【题目大意】告诉你幻方的构造方法,给出N*N幻方的方案。

N≤39且为奇数。

【解题说明】直接模拟即可【代码】#include<cstdio>int n,m,i,j,x,y,a[55][55];int main(){scanf("%d",&n);m=n*n;x=1;y=(n+1)/2;a[x][y]=1;for(i=2;i<=m;a[x][y]=i++)if(x==1&&y!=n)x=n,y++;else if(x!=1&&y==n)y=1,x--;else if(x==1&&y==n)x++,a[x][y]=i;else if(!a[x-1][y+1])x--,y++;else x++;for(i=1;i<=n;i++)for(j=1;j<=n;j++){printf("%d",a[i][j]);if(j<n)printf(" ");else puts("");}}【时间复杂度】O(n^2) 【空间复杂度】O(n^2)【思想难度】6 【编程难度】8 【总用时】5 minT2 信息传递【题目大意】在若干颗基环+内向树中找到一个最小的环。

N≤200000,无自环。

【解题说明】30分做法:Floyd找最小环60分做法:每个点BFS一遍就可以了100分做法:①基环+内向树的找环直接套模板即可②Tarjan 找到一个最小的size不为1的强连通分量即可③BFS/DFS 在暴力的基础上多加一个标记即可④并查集据说这也能做【代码】#include<cstdio>#include<algorithm>#define N 222222using namespace std;int n,i,tm,tp,now,ans,sz,to[N],dfn[N],low[N],st[N];bool is[N];void dfs(int x){dfn[x]=low[x]=++tm;st[++tp]=x;is[x]=1;int y=to[x];if(!dfn[y])dfs(y),low[x]=min(low[x],low[y]);else if(is[y])low[x]=min(low[x],dfn[y]);if(low[x]==dfn[x]){for(sz=now=0;now!=x;)now=st[tp--],sz++;if(sz>1)ans=min(ans,sz);}}int main(){for(ans=1e9,scanf("%d",&n),i=1;i<=n;i++)scanf("%d",&to[i]);for(i=1;i<=n;i++)if(!dfn[i])dfs(i);printf("%d",ans);}【时间复杂度】O(n) 【空间复杂度】O(n)【思想难度】25 【编程难度】25 【总用时】15 minT3 斗地主【题目大意】给你一副斗地主手牌,问你最快几次出完,数据随机,牌数不超过23。

NOIP2015提高组复赛试题

NOIP2015提高组复赛试题

【输入输出样例1】 substring.in
6 3 1
aabaab
aab
substring.out

【输入输出样例2】
substring.in
632
aabaab
aab
substring.out

【输入输出样例说明】
所有合法方案如下∶(加下划线的部分表示取出的子串)
样例1∶aab aab / aab aab
测试点编号
“工

[3

100 仰
[100
100 100
100
区el
吕=I

13

[15
100 二
100 [15
10 [16
[10
10
[1187
K 闷
了89
10
100
100
100
100
八闷1闪2
100 13
16 18
邻20
10 [19
10
10
分21
10有的手牌都是随机生成的。
1.若(K-1)在第一行但不在最后一列,则将K填在最后一行,(K-1)所在列
的右一列;
2. 若(K-1)在最后一列但不在第一行,则将K填在第一列,(K-1)所在行的上
一行∶
3. 若(K-1)在第一行最后一列,则将K填在(K-1)的正下方∶
4.若(K-1)既不在第一行,也不在最后一列,如果(K-1)的右上方还未填数,
的位置不同也认为是不同的方案。
【输入格式】
第一行是三个正整数n,m,k,分别表示字符串A的长度,字符串B的长度,以及问
题描述中所提到的k,每两个整数之间用一个空格隔开。

noip2015提高组复赛试题答案

noip2015提高组复赛试题答案

noip2015提高组复赛试题答案一.单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确答案。

)1. 1MB等于()。

A. 1000字节B. 1024字节C. 1000⨯1000字节D. 1024⨯1024字节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的方式连接到Internet6.二进制数00100100和00010100的和是()。

A.00101000B. 01110011C.01000100D. 001110007. 与二进制小数0.1相等的十六进制数是()。

A. 0.8B. 0.4C. 0.2D. 0.18. 所谓中断是指()。

A. 操作系统随意停止一个程序的运行B. 当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的过程C.因停机而停止一个程序的运行D.电脑死机9. 计算机病毒是()。

A. 通过计算机传播的危害人体健康的一种病毒B. 人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合C.一种由于计算机元器件老化而产生的对生态环境有害的物质D.利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒10. FTP可以用于()。

A. 远程传输文件B. 发送电子邮件C. 浏览网页D. 网上聊天11.下面哪种软件不属于即时通信软件()。

noip2015模拟题

noip2015模拟题

货车运输 Transport Transport.in Transport.out
3s 256M
T1 幸运数字 (Num.pas/c/cpp)
题目背景 Pb 为了 NOIP 有好的 RP,他开始寻找幸运数字。
题目描述
Pb 拿到了一个不定方程(������2 − ������������ − ������2)2 = 1,他将此方程的正整数解写 成有序点对(X,Y)的形式并将其按 X 为第一关键字,Y 为第二关键字从小到大排 序。Pb 将排好序后的第 L 至 R 个点对取出,并将 X*Y mod P 的值加入集合 S 中。 Pb 认为幸运数字是不以 S 集合中任意一个数为因子的数。对于一个给定的 L,R,P, Pb 想知道 [1,N]中有多少个幸运数字。数学如此之好的 Pb 觉得太简单了,于是 他把问题抛给了你。
任意两个字符串共有多少对匹配。 在所有匹配中和谐度最高的匹配的和谐度是多少。
输入格式 输入数据第一行包括一个正整数 n。 接下来 n 行,每行一个只含 26 个小写字母的字符串。
输出格式 输出文件包含两个行,第一行一个整数代表第一问的答案,第二行一个整数
代表第二问的答案。
2/4
NOIP2015 提高组复赛模拟试题
题目背景 Pb 说 NOIP2013 很简单,但他对当年第三题货车运输产生了兴趣。他也想
当一回货车司机。
题目描述 众所周知,一条完整的产业链是由许多环节构成,只有完成了某个环节才能
下一个环节,必须先完成的环节成为该环节的子环节。M 国最大的企业的产业链 十分有趣,除了第一个环节外,每个环节有且仅有一个子环节。现在 Pb 当上了 该公司的一名货车司机。Pb 拿到了 M 国的地图,M 国共有 n 个城镇,m 条双向 道路。每一环节都在一个城镇中进行,且同一个城镇最多进行一个环节。每一个 环节都需要一定重量的原材,供应原材料的仓库也坐落在某几个互不相同的城镇。 Pb 的任务是用货车将仓库中的材料依次运往各个环节所在的城镇。Pb 在运输过 程中可经过一个仓库多次但只能从每一个仓库中装载一次原材料。货车载重量及 仓库储量不限。运输途中空货车消耗的费用为路程,载重货车消耗的费用为货车 载重量乘以路程。Pb 想知道他是否能完成任务,如果能完成,那么所消耗的最小 费用为多少?如果不能完成,那么最多完成多少环节?(Pb 可选择任意一个城 镇作为出发点)。

noip提高组c初赛试题与答案

noip提高组c初赛试题与答案

2009 第十五届全国青少年信息学奥林匹克联赛初赛试题提高组 C++ 语言 二小时完成 )全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效. 单项选择题 (共 10 题,每题分,共计 15 分。

每题有且仅有一个正确答 案。

)1、关于图灵机下面的说法哪个是正确的:图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作 用。

2、关于BIOS 下面的说法哪个是正确的:BIOS 里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的 驱动程序。

BIOS 能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。

3、已知大写字母A 的ASCII 编码为65(十进制),则大写字母J 的 十六进制ASCII 编码为:4、在字长为 16位的系统环境下,一个 16位带符号整数的二进制补码为 101。

其对应的十进制整数应该是:n 个分支结点(非叶结点)的非空满 k 叉树,k>=1,它的叶结点数 B) nk-1 C) (k+1)n-1 D. (k-1)n+16. 表达式 a*(b+c )-d 的后缀表达式是:A) abcd*+- B) abc+*d- C) abc*+d- D) -+*abcd7、最优前缀编码,也称 Huffman 编码。

这种编码组合的特点是对于较频繁使用 的元素给与较短的唯一编码,以提高通讯的效率。

下面编码组合哪一组不是 合法的前缀编码。

A )(00, 01, 10, 11)A) 图灵机是世界上最早的电子计算机。

B) 由于大量使用磁带操作,图灵机运行速度很慢。

C) 图灵机只是一个理论上的计算模型。

D) A) BIOS 是计算机基本输入输出系统软件的简称。

B) C) BIOS 一般由操作系统厂商来开发完成。

D) A) 48 B) 49 C) 50 D)以上都不是 A) 19 B) -19 C) 18 D) -185、一个包含目为:A) nk + 1B ) (0,1,00,11)C )(0,10,110,111)D )(1,01,000,001)8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:9、右图给出了一个加权无向图, 从顶点 V 0 开始用 prim 算法求最 小生成树。

2015年NOIP信息学奥林匹克初赛试题和答案(普及组C++语言)

2015年NOIP信息学奥林匹克初赛试题和答案(普及组C++语言)

第二十一届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2015 年10 月11 日14:30-16:30一、单项选择题(共20 题,每题1.5 分,共计30 分;每题有且仅有一个正确选项)⒈1MB 等于( )。

A.10000 字节B.1024 字节C.1000×1000 字节D.1024×1024 字节⒉在PC 机中,PENTIUM(奔腾)、酷睿、赛扬等是指()。

A.生产厂家名称 B.硬盘的型号 C.CPU 的型号 D.显示器的型号⒊操作系统的作用是()。

A.把源程序译成目标程序B.便于进行数据管理C.控制和管理系统资源D.实现硬件之间的连接⒋在计算机内部用来传送、存贮、加工处理的数据或指令都是以()形式进行的。

A.二进制码B.八进制码C.十进制码D.智能拼音码⒌下列说法正确的是()。

A.CPU 的主要任务是执行数据运算和程序控制B.存储器具有记忆能力,其中信息任何时候都不会丢失C.两个显示器屏幕尺寸相同,则它们的分辨率必定相同D.个人用户只能使用Wifi 的方式连接到Internet⒍二进制数00100100 和00010100 的和是( )。

A.00101000B.01100111C.01000100D.00111000⒎与二进制小数0.1 相等的十六进制数是()。

A.0.8B.0.4C.0.2D.0.1⒏所谓的“中断”是指()。

A.操作系统随意停止一个程序的运行B.当出现需要时,CPU 暂时停止当前程序的执行转而执行处理新情况的过程C.因停机而停止一个程序的运行D.电脑死机⒐计算机病毒是()。

A.通过计算机传播的危害人体健康的一种病毒B.人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合C.一种由于计算机元器件老化而产生的对生态环境有害的物质D.利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒⒑FTP 可以用于( )。

A.远程传输文件B.发送电子邮件C.浏览网页D.网上聊天⒒下面哪种软件不属于即时通信软件()。

NOIP2015年普与组复赛试题讲解(c++版本)

NOIP2015年普与组复赛试题讲解(c++版本)

参考程序
➢ #include <iostream>
➢ using namespace std;
➢ int main()
➢{

long d[102][102];

long n,m;

cin>>n>>m;

long i,j;

char ch;

for(i=0;i<=n;i++)

{

for(j=0;j<=m;j++)
确定解题思路
➢ 每一次的最优解必然包含了上一次的最优解,也 就是说只要知道这一轮的最大疲劳值就行了。而 这一次的最大疲劳值也就是找最大能多消耗的疲 劳值。(贪心算法)
➢ 分成两部分:一部分的距离小于已经到达的最远 距离,另一部分大于可以到达的最远距离。
数据结构
➢ 小于最远距离的部分,它们的疲劳增加值就是各 个点的疲劳值,所以用最大堆存储,疲劳值最大 的在最前。
moБайду номын сангаас;
➢}
➢ printf("%d\n",ans);
➢ return 0;
➢}
第4题 “推销员”简述
➢ 阿明是一名推销员,他奉命到螺丝街推销他们公司的产 品。螺丝街是一条死胡同,出口与入口是同一个,街道 的一侧是围墙,另一侧是住户。螺丝街一共有 N 家住户, 第 i 家住户到入口的距离为 Si 米。由于同一栋房子里可 以有多家住户,所以可能有多家住户与入口的距离相等。 阿明会从入口进入,依次向螺丝街的 X 家住户推销产品, 然后再原路走出去。 阿明每走 1 米就会积累 1 点疲劳值, 向第 i 家住户推销产品会积累 Ai 点疲劳值。阿明是工作 狂,他想知道,对于不同的 X,在不走多余的路的前提 下,他最多可以积累多少点疲劳值。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if (n == 0)
return 0;
for (t = 1; t <= 3; t++)
if (t != fromPos && t != toPos) break;
tot = 0;
tot += fun(n - 1, fromPos, t); tot++;
tot += fun(n - 1, t, toPos); return tot;
// rmax[i]为仅含x[i]及x[i]右侧整数的连续子序列的序列和中,最大的序列和
int main() {
cin >> n;
for (i = 0; i < n; i++) cin >> x[i];
lmax[0] = x[0];
for (i = 1; i < n; i++) if (lmax[i - 1] <= 0)
lmax[i] = x[i]; else
lmax[i] = lmax[i - 1] + x[i]; for (i = 1; i < n; i++)
if (lmax[i] < lmax[i - 1])
lmax[i] = lmax[i - 1];
;
for (i = n - 2; i >= 0; i--) if (rmax[i + 1] <= 0)
int used[MAXV]; //记录结点是否已扩展(0:未扩展;1:已扩展)
int main() {
cin >> n;
for (i = 0; i < n; i++) for (j = 0; j < n;j++)
cin >> w[i][j]; dist[0] = 0;
for (i = 1; i < n; i++) dist[i] = -1;
A.
二进制码
B.
八进制码
C.
十进制码
D.
智能拼音码
2.下列说法正确的是()。
A.
CPU的主要任务是执行数据运算和程序控制
B.
存储器具有记忆能力,其中信息任何时候都不会丢失
C.
两个显示器屏幕尺寸相同,则它们的分辨率必定相同
D.
个人用户只能使用Wifi的方式连接到Internet
3.与二进制小数0.1相等的十六进制数是()。
5.以下图中一定可以进行黑白染色的有()。(黑白染色:为各个结点分别指定黑白两种颜色之一,使相邻结点颜色不同。)
A.
二分图
B.
完全图
C.

D.
连通图
三、问题求解(共
1.在1和2015之间(包括1和2015在内)不能被4、5、6三个数任意一个数整除的数 有个。
2.结点数为5的不同形态的二叉树一共有种。(结点数为2的二叉树一共有2
第二十一届全国青少年信息学奥林匹克联赛初赛
提高组
竞赛时间:2015年10月11日14:30~16:30
选手注意:
试题纸共有9页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共
1.在计算机内部用来传送、存贮、加工处理的数据或指令都是以()形式进行的。
if (w[v][i] != -1 && (dist[i] ==-1||)) dist[i] = dist[v] +w[v][i];
}
for (i = 0; i < n; i++) cout << dist[i] <<endl;
return 0;
}
q->llink = p->llink; p->llink = q;
14.对图G中各个结点分别指定一种颜色,使相邻结点颜色不同,则称为图G的一个正常着色。正常着色图G所必需的最少颜色数,称为G的色数。那么下图的色数是()。
A.
3
B.
4
C.
5
D.
6
15.在NOI系列赛事中参赛选手必须使用由承办单位统一提供的设备。下列物品中不允许选 手自带的是()。
A.
O(log n)
B.
O(n log n)
C.
O(n)
D.
O(n2)
11.具有n个顶点,e条边的图采用邻接表存储结构,进行深度优先遍历和广度优先遍历运算的时间复杂度均为()。
A.
Θ(n2)
B.
Θ(e2)
C.
Θ(ne)
D.
Θ(n + e)
12.在数据压缩编码的应用中,哈夫曼(Huffman)算法是一种采用了()思想的算法。
#include <iostream> using namespace std;
const int MAXN = 1000; int n, i, ans, sum; intx[MAXN];
int lmax[MAXN];
// lmax[i]为仅含x[i]及x[i]左侧整数的连续子序列的序列和中,最大的序列和int rmax[MAXN];
maxlen = len;
}
} while (true); cout << s << endl; return 0;
}
输入:
I
am a
citizenof China
#
输出:
4.#include <iostream> using namespacestd;
int fun(int n, int fromPos, int toPos) { int t, tot;
#include <iostream> using namespace std;
const int MAXV = 100; int n, i, j, v;
int w[MAXV][MAXV]; //邻接矩阵,记录边长
//其中w[i][j]为连接结点i和结点j的无向边长度,若无边则为-1 int dist[MAXV];
}
2.(最短路径问题)无向连通图G有n个结点,依次编号为0,1,2,...,(n-1)。用邻接矩阵的 形式给出每条边的边长,要求输出以结点0为起点出发,到各结点的最短路径长度。
使用Dijkstra算法解决该问题:利用dist数组记录当前各结点与起点的已找到的最短路径长度;每次从未扩展的结点中选取dist值最小的结点v进行扩展,更新与v相邻的结点的dist值;不断进行上述操作直至所有结点均被扩展,此时dist数据中记录的值 即为各结点与起点的最短路径长度。(第五空2分,其余3分)
B.
q->llink = p->llink; p->llink->rlink = q; q->rlink = p; p->llink = q->rlink;
C.
q->rlink = p; p->rlink = q;
p->llink->rlink = q; q->rlink = p;
D.
p->llink->rlink = q; q->rlink = p;
B.
只有根结点的二叉树
C.
根结点无右子树的二叉树
D.
非叶子结点只有右子树的二叉树
8.如果根的高度为1,具有61个结点的完全二叉树的高度为()。
A.
5
B.
6
C.
7
D.
8
9.6个顶点的连通图的最小生成树,其边数为()。
A.
6
B.
5
C.
7
D.
4
10.设某算法的计算时间表示为递推关系式T(n) = T(n - 1) + n(n为正整数)及T(0) = 1,则 该算法的时间复杂度为()。
A.
贪心
B.
分治
C.
递推
D.
回溯
13.双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的 一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()。
A.
p->llink = q; q->rlink = p;
p->llink->rlink = q; q->llink = p->llink;
(*a)++;
}
int main() {
char c1, c2, *p1, *p2; c1 = 'A';
c2 = 'a';
p1 = &c1; p2 = &c2; fun(p1, p2);
cout << c1 << c2 << endl; return 0;
}
输出:
3.#பைடு நூலகம்nclude<iostream>
;
else
;
for (i = n - 2; i >= 0; i--) if (rmax[i] < rmax[i + 1])
;
ans = x[0] + x[2];
for (i = 1; i < n - 1; i++) {
sum=;
if (sum > ans) ans = sum;
}
cout << ans << endl; return 0;
相关文档
最新文档