1112 求先序排列【NOIP2001普及组】 1113 装箱问题【NOIP2001普及组】

合集下载

NOIP中排列组合问题的十种解题策略

NOIP中排列组合问题的十种解题策略

一、 公式法例1:将N 个红球和M 个黄球排成一行。

例如,当N=2,M=3时可得到10种排法。

问题:当N=4,M=3时有()种不同排法?(NOIP2002)解:此题属于不全相异元素的全排列,可以直接代入以下公式(公式中n 1+n 2+n 3+……+n m = N )!*!*!*!*!321m n n n n N所以35!4!*3!7=例2:公园门票每张5角,如果有10个人排队购票,每人一张,并且其中一半人恰有5角钱,另一半恰有1元钱,而票房无零钱可找,那么有多少种方法将这10个人排成一列,顺次购票,使得不至于因票房无零钱可找而耽误时间?解:此题属于D[0]>=D[1]排列,可以直接代入以下公式22--n n n n CC 所以42210252410510=-=-C C二、 转换法:深入思考,抓住问题的本质,将原问题转化成排列组合经典问题来解决。

例3:某城市的街道是一个很规整的矩形网络(见下图),有7条南北向纵街,5条东西向横街。

现在从西南角的A 走到东北角的B ,最短的走法共有( )种(NOIP2007)解:无论怎样走都必须经过6横4纵,因此可把问题转化为4个相同的白球和6个相同的黑球的排列问题。

所以210410=C 三、 分类法:按题目条件,把符合条件的排列、组合问题分成互不重复的若干类,分别计算,最后计算总数。

例4:小陈现有2个任务A ,B 要完成,每个任务分别有若干步骤,A=a 1→a2→a3,B= b 1→b2→b3→b4→b5。

在任何时候,小陈只能专心做某个任务的一个步骤。

但是如果愿意,他可以在做完手中任务的当前步骤后,切换至另一个任务,从上次此任务第一个未做的步骤继续。

每个任务的步骤顺序不能打乱,例如……a2→b2→a3→b3……是合法的,而……a2→b3→a3→b2……是不合法的。

小陈从B 任务的b1步骤开始做,当恰做完某个任务的某个步骤后,就停工回家吃饭了。

当他回来时,只记得自己已经完成了整个任务A ,其他的都忘了。

Noip2001年普及组复赛题目

Noip2001年普及组复赛题目

NOI’2001第七届全国青少年信息学(计算机)奥林匹克分区联赛复赛试题普及组题一数的计算(20分)问题描述我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加自然数为止.样例: 输入: 6满足条件的数为 6 (此部分不必输出)162612636136输出: 6题二最大公约数和最小公倍数问题(20分)问题描述输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数条件: 1.P,A是正整数2.要求P,Q以x0为最大公约数,以y0为最小公倍数.试求:满足条件的所有可能的两个正整数的个数.样例输入:x0=3 yo=60输出:4说明(不用输出)此时的P Q 分别为:3 6015 1212 1560 3所以:满足条件的所有可能的两个正整数的个数共4种.题三求先序排列(30分)问题描述给出一棵二叉树的中序与后序排列。

求出它的先序排列。

(约定树结点用不同的大写字母表示,长度<=8)。

样例输入:BADC BDCA输出:ABCD题四装箱问题(30分)问题描述有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n <=30=,每个物品有一个体积(正整数)。

要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

样例输入:24一个整数,表示箱子容量6一个整数,表示有n个物品8接下来n行,分别表示这n 个物品的各自体积312797输出:0一个整数,表示箱子剩余空间。

NOIP2001普及组初赛试题和答案

NOIP2001普及组初赛试题和答案

第七届分区联赛普及组初赛(普及组PASCAL语言二小时完成)一、选择一个正确答案代码(A/B/C/D),填入每题的括号内(每题1.5分,多选无分,共30分)1.在计算机内部,一切信息存取、处理和传递的形式是( )A)ASCII码 B)BCD码 C)二进制 D)十六进制2.在树型目录结构中,不允许两个文件名相同主要指的是( )A)同一个磁盘的不同目录下B)不同磁盘的同一个目录下C)不同磁盘的不同目录下 C)同一个磁盘的同一个目录下3.WORD是一种( )A)操作系统 B)文字处理软件 C)多媒体制作软件 D)网络浏览器4.计算机软件保护法是用来保护软件( )的。

A)编写权B)复制权C)使用权D)著作权5.下面关于算法的错误说法是( )A)算法必须有输出B)算法必须在计算机上用某种语言实现C)算法不一定有输入 D)算法必须在有限步执行后能结束6.解释程序的功能是( )A)将高级语言程序转换为目标程序B)将汇编语言程序转换为目标程序C)解释执行高级语言程序D)解释执行汇编语言程序7.与二进制数101.01011等值的十六进制数为( )A)A.B B)5.51 C)A.51 D)5.588.断电后计算机信息依然存在的部件为( )A)寄存器 B)RAM存储器 C)ROM存储 D)运算器9.2KB的内存能存储( )个汉字的机内码A)1024 B)516 C)2048 D)21810.DOS暂驻区中的程序主要是用于( )A)执行DOS内部命令B)执行DOS外部命令C)执行DOS所有命令D)基本输入输出11.若我们说一个微机的CPU是用的PII300,此处的300确切指的是( )A)CPU的主时钟频率B)CPU产品的系列号C)每秒执行300百万条指令D)此种CPU允许最大内存容量12.运算17 MOD 4的结果是( )A)7 B)3 C)1 D)413.应用软件和系统软件的相互关系是( )A)后者以前为基础B)前者以后者为基础C)每一类都以另一类为基础D)每一类都不以另一类为基础14.以下对Windows的叙述中,正确的是( )A)从软盘上删除的文件和文件夹,不送到回收站B)在同一个文件夹中,可以创建两个同类、同名的文件C)删除了某个应用程序的快捷方式,将删除该应用程序对应的文件D)不能打开两个写字板应用程序15.Email邮件本质上是一个( )A)文件B)电报C)电话D)传真16.计算机病毒是( )A)通过计算机传播的危害人体健康的一种病毒B)人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合C)一种由于计算机元器件老化而产生的对生态环境有害的物质D)利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒17.下列设备哪一项不是计算机输入设备( )A)鼠标B)扫描仪C)数字化仪D)绘图仪18.在计算机硬件系统中,cache是( )存储器A)只读B)可编程只读C)可擦除可编程只读D)高速缓冲19.在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找12,所需的关键码比较的次数为( )A)2 B)3 C)4 D)520.若已知一个栈的入栈顺序是1,2,3,…,n,其输出序列为P1,P2,P3,…,Pn,若P1是n,则Pi 是( )A)i B)n-1 C)n-i+1 D)不确定二、问题求解(5+7=12分)1.在a,b,c,d,e,f六件物品中,按下面的条件能选出的物品是:(1)a,b两样至少有一样(2)a,d不能同时取(3)a,e,f中必须有2样(4)b,c要么都选,要么都不选(5)c,d两样中选一样(6)若d不选,则e也不选2.平面上有三条平行直线,每条直线上分别有7,5,6个点,且不同直线上三个点都不在同一条直线上。

NOIP普及组初赛历年试题及答案求解题篇

NOIP普及组初赛历年试题及答案求解题篇

NOIP普及组初赛历年试题及答案求解题篇问题求解:每次共2题,每空5分,共计10分。

每题全部答对得 5 分,没有部分分。

注:答案在文末在NOIP初赛问题求解中,经常会遇到排列组合问题。

这一类问题不仅内容抽象,解法灵活,而且解题过程极易出现“重复”和“遗漏”的错误,这些错误甚至不容易检查出来,所以解题时要注意不断积累经验,总结解题规律。

解答排列组合问题,首先必须认真审题,明确是属于排列问题还是组合问题,或者属于排列与组合的混合问题,其次要抓住问题的本质特征,灵活运用基本原理和公式进行分析解答。

同时还要注意讲究一些策略和技巧,比如采用分类、分步、捆绑等方法,也可以借助表格、方程等工具,使一些看似复杂的问题迎刃而解。

NOIP2011-1. 每份考卷都有一个8位二进制序列号。

当且仅当一个序列号含有偶数个1时,它才是有效的。

例如,0000000、01010011都是有效的序列号,而11111110不是。

那么,有效的序列号共有______个。

NOIP2011-2. 定义字符串的基本操作为: 删除一个字符、插入一个字符和将一个字符修改成另外一个字符这三种操作。

将字符串A变成字符串B的最少操作步数,称为字符串A到字符串B的编辑距离。

字符串“ ABCDEFG ”到字符串“BADECG ”的编辑距离为_______。

NOIP2012-1. 如果平面上任取n 个整点(横纵坐标都是整数) ,其中一定存在两个点,它们连线的中点也是整点,那么n至少是_____。

NOIP2012-2. 在NOI期间,主办单位为了欢迎来自全国各地的选手,举行了盛大的晚宴。

在第十八桌,有5名大陆选手和5名港澳选手共同进膳。

为了增进交流,他们决定相隔就坐,即每个大陆选手左右相邻的都是港澳选手、每个港澳选手左右相邻的都是大陆选手。

那么,这一桌共有_____种不同的就坐方案。

注意:如果在两个方案中,每个选手左边相邻的选手均相同,则视为同一个方案。

NOIP2013-1. 7 个同学围坐一圈,要选2 个不相邻的作为代表,有_____种不同的选法。

历年NOIP问题求解

历年NOIP问题求解

信息学初赛问题求解部分(第8-15届)问题求解(共2题,每题5分,共计10分)(第八届)1、如下图,有一个无穷大的的栈S,在栈的右边排列着1,2,3,4,5共五个车厢。

其中每个车厢可以向左行走,也可以进入栈S让后面的车厢通过。

现已知第一个到达出口的是3号车厢,请写出所有可能的到达出口的车厢排列总数(不必给出每种排列)。

解:此题主要考查栈的先进后出及队列先进先出的概念,给合枚举,因为3要最先出去,肯定要把1,2依次压入栈中,所以出队列的时候,2肯定在1的前面。

共有9种。

32145,32154,32415,32451,32541,34215,34251,34521,35421 2、将N个红球和M 个黄球排成一行。

例如:N=2,M=3可得到以下6种排法: 红红黄黄黄红黄红黄黄红黄黄红黄黄红红黄黄黄红黄红黄黄黄黄红红问题:当N=4,M=3时有多少种不同排法?(不用列出每种排法)解:分析:要计算出N=4,M=3的排法。

球的总数是7个,我们可以理解为:有7个可以用来存放这些球的箱子,如下图:怎样将这些球放入相应的箱子中呢?如果这7个球完全不一样,我们很容易知道,存放的方法就是7的全排列。

但实际上,这7个球只分为两种:红球和黄球。

所以,只要我们把其中任意一种球的存放位置确定好,问题就算解决了。

剩下的球只需往空的箱子里面放。

比如,我们要确定红球的存放位置。

红球一共有4个。

要把4个红球放入已知的7个箱子中,因为这4个红球都是一样的,所以存放的方法实际上就是从7个箱子中任取4个的组合,即:。

直接套用组合数公式进行计算 C73=7*6*5/3*2*1=35(第九届)1、现在市场上有一款汽车A很热销,售价是2万美元。

汽车A每加仑汽油可以行驶20英里。

普通汽车每年大约行驶12000英里。

油价是每加仑1美元。

不久我公司就要推出新款节油汽车B,汽车B每加仑汽油可以行驶30英里。

现在我们要为B制定价格(它的价格略高于A):我们预计如果用户能够在两年内通过节省油钱把B高出A的价钱弥补回来,则他们就会购买B,否则就不会购买B。

NOIP2013初赛普及组C++题目及答案

NOIP2013初赛普及组C++题目及答案

第十九届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2013 年10 月13 日14:30~16:30选手注意:试题纸共有9 页,答题纸共有2 页,总分值100 分。

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

不得使用任何电子设备〔如计算器、、电子词典等〕或查阅任何书籍资料。

一、单项选择题〔共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项〕1. 一个32 位整型变量占用〔〕个字节。

A. 4B. 8C. 32D. 1282. 二进制数11.01 在十进制下是〔〕。

A. 3.25B. 4.125C. 6.25D. 11.1253. 下面的故事与〔〕算法有着异曲同工之妙。

从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’A. 枚举B. 递归C. 贪心D. 分治4. 逻辑表达式〔〕的值与变量A 的真假无关。

A. (A∨B)∧﹃AB. (A∨B)∧﹃BC. (A ∧B) ∨(﹃A ∧B)D. (A ∨B)∧﹃A ∧B5. 将〔2, 6, 10, 17〕分别存储到某个地址区间为0~10 的哈希表中,如果哈希函数h(x) =〔〕,将不会产生冲突,其中a mod b 表示a 除以b 的余数。

A. x mod 11B. x2 mod 11C. 2x mod 11D. |√2| mod 11 ,其中√X表示√X下取整6. 在十六进制表示法中,字母 A 相当于十进制中的〔〕。

A. 9B. 10C. 15D. 167. 以下图中所使用的数据结构是〔〕。

A. 哈希表B. 栈C. 队列D. 二叉树8. 在Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是〔〕。

A. 用剪切板中的文件替换该文件B. 在该文件所在文件夹中,将该文件克隆一份C. 将该文件复制到剪切板,并保留原文件D. 将该文件复制到剪切板,并删除原文件9. 已知一棵二叉树有10 个节点,则其中至多有〔〕个节点有 2 个子节点。

NOIP普及组模拟试题及解答(C语言)一

NOIP普及组模拟试题及解答(C语言)一

一、平方根【问题描述】给出一个正整数n(1<n<=2^31-1),求当x,y都为正整数,方程:=n-yx的解中,x的最小值是多少?【输入文件】输入文件sqrt.in只有一行,一个正整数n。

【输出文件】输出文件sqrt.out只有一行,即满足条件的最小的x的解。

【样例】:【数据规模】30%的数据满足1<n<=10000;100%的数据满足1<n<=2^31-1。

二、计算系数【问题描述】给定一个多项式(ax + by)k,请求出多项式展开后x n y m项的系数。

【输入格式】输入文件名为factor.in。

共一行,包含5 个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。

【输出格式】输出文件名为factor.out。

输出共1行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007取模后的结果。

【样例】【数据范围】对于30%的数据,有0≤k≤10;对于50%的数据,有a = 1,b = 1;对于100%的数据,有0≤k≤1,000,0≤n, m≤k,且n + m = k,0≤a,b≤1,000,000。

三、宇宙蘑菇【问题描述】Smart在宇宙中发现了一种奇怪的蘑菇,它每天都会固定分裂一次,长度为x的蘑菇会分裂成两个长度分别为x-1和x+1的蘑菇,但是长度为0的蘑菇是不存在的,所以长度为1的蘑菇只能生长成长度为2的蘑菇。

现在小Y第一天有一个长度为2的蘑菇,他想知道第n天他有多少个蘑菇。

【输入】一个整数n。

【输出】一个整数ans,表示到了第n天Smart有的蘑菇个数。

【样例】【数据范围】1≤n≤2000。

一、平方根#include <fstream>#include <cmath>using namespace std;ifstream fin("sqrt.in");ofstream fout("sqrt.out");long long x,y,n,p;int main(){fin>>n;for (p=(int)sqrt(n);p>=1;p--)if (n%(p*p)==0){y=n/(p*p);break;}x=(p+1)*(p+1)*y;fout<<x<<endl;return 0;}二、计算系数#include <iostream>#include <cstdio>using namespace std;const int MaxN=1001;const int MOD=10007;int a,b,k,m,n,ans;int c[MaxN][MaxN];int com(int n,int k)//计算组合数C(k,n)的值{if (n==0) return 1;if (n==k) return 1;if ( c[n][k] ) return c[n][k];c[n][k]=( com(c[n-1][k-1])+com(c[n][k-1]) )%MOD; return c[n][k];}void work()//计算系数C(k,n)*a^n*b^m的值{int i;ans=com(n,k);a=a%MOD;b=b%MOD;for (i=1;i<=n;i++)ans=(ans*a)%MOD;for (i=1;i<=m;i++)ans=(ans*b)%MOD;printf("%d\n",ans);}int main(){freopen("factor.in","r",stdin);freopen("factor.out","w",stdout);scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);work();return 0;}三、宇宙蘑菇#include <iostream>using namespace std;const int maxlen=1001;int n,len;int ans[maxlen];void mult(int x)//高精度乘法,数组每位存储5位数字{int i,k;k=0;//进位for (i=1;i<=len;i++){ans[i]= ans[i]*x+k;k=ans[i]/100000;ans[i]%=100000;}while (k!=0){len++;ans[len]=k%100000;k/=100000 ;}}void divi(int x)//高精度除法{int i;for (i=len;i>=1;i--){if (i!=1)ans[i-1]+=( ans[i]%x )*100000;ans[i]/=x;}while (len>1 && ans[len]==0) len-- ;}void out(){int i;printf("%d",ans[len]);for (i=len-1;i>=1;i--)printf(" %5.5d ",ans[i]);printf("\n");}int main(){int i,a,b;freopen("mushroom.in","r",stdin);freopen("mushroom.out","w",stdout);scanf("%d",&n);len=1;ans[1]=1;a=n-(n/2)+1;b=1;for (i=1;i<=(n/2);i++)//计算组合c(n,n/2)的值{mult(a);divi(b);a++ ;b++;}out();return 0;}。

NOIP复习资料(C++版)精编版

NOIP复习资料(C++版)精编版

NOIP复习资料(C++版)主编葫芦岛市一高中李思洋完成日期2012年8月27日……………………………………………………………最新资料推荐…………………………………………………前言有一天,我整理了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+

NOIP普及组初赛及答案C+

第十八届全国青少年信息学奥林匹克联赛初赛(普及组C++语言试题)竞赛时间:2012年10月13日14:30~16:30选手注意:●试题纸共有10页,答题纸共有2页,满分100分。

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

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料一、单项选择题(共20题,每题分,共计30分;每题且仅有一个正确选项)1.计算机如果缺少(),将无法正常启动。

A.内存B.鼠标C.U盘D.摄像头2.()是一种先进先出的线性表。

A.栈B.队列C.哈希表(散列表) D.二叉树3.目前计算机芯片(集成电路)制造的主要原料是(),它是一种可以在沙子中提炼出的物质。

A.硅B.铜C.锗D.铝4.十六进制数9A在()进制下是232。

A.四B.八C.十D.十二5.()不属于操作系统。

A.Windows B.DOS C.Photoshop D.NOI Linux6.如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是()。

A.ABC B.CBA C.ACB D.BAC7.目前个人电脑的()市场占有率最靠前的厂商包括Intel、AMD等公司。

A.显示器B.CPU C.内存D.鼠标8.使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执行()次操作,才能完成冒泡排序。

A.0 B.5 C.10 D.159.1946年诞生于美国宾夕法尼亚大学的ENIAC属于()计算机。

A.电子管B.晶体管C.集成电路D.超大规模集成电路10.无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。

如果用现实生活中的例子来比喻这些“层”,以下最恰当的是()。

A.中国公司的经理与波兰公司的经理交互商业文件B.军队发布命令C.国际会议中,每个人都与他国地位对等的人直接进行会谈D.体育比赛中,每一级比赛的优胜者晋级上一级比赛11.矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它()。

历年NOIP(普及组)难度分析

历年NOIP(普及组)难度分析

历年NOIP(普及组)难度分析 by Climber.pINOIP提高组复赛考察点详细分析12 模拟:10数学:5 图论:4搜索:4 构造:3贪心:2【动态规划】平均难度系数:0.55此项为历届NOIP考察次数最多的知识点。

主要有 1.区间模型 2.子序列模型 3.资源分配模型以及一些简单的多维状态设计技巧。

动态规划可以与图,树,高精度等知识点配合出题。

【模拟】平均难度系数:0.76平均每届NOIP都会出现1个模拟题。

这种题一般算法很简单,需要选手细心理解题目意思,注意细节。

考察选手的代码实现能力。

【数学】平均难度系数:0.46需要掌握质数及其性质,基础的实属操作,加法原理和乘法原理。

此类题需要选手对数学规律的灵感。

【图论】平均难度系数:0.50历届考察点基本上都是1.最短路问题和 2.特殊图的性质。

特殊图包括树,拓扑图,二分图等。

历届NOIP在图论上的考察并不是很多。

【搜索】平均难度系数:0.38历届搜索题一般都比较难,搜索算法本身简单,于是题目会提高选手对其他方面的要求。

主要有搜索优化和模拟。

写搜索题时应该以尽量多得分为目标。

【构造】平均难度系数:0.27构造类题目一般没有明确的算法,需要选手仔细分析题目的实质,并得出解法。

这个解法通常不是唯一的。

有时一个好的贪心可以得相当多的分。

有时搜索剪枝可以很大的提高效率。

同样以多得分为目标。

【【贪心】平均难度系数:0.75此类题需要选手对算法的直觉,贪心正确性一旦被证明,通常题目就简单了。

全国青少年信息学奥林匹克联赛初赛试题普及组C++题目及答案 (2)

全国青少年信息学奥林匹克联赛初赛试题普及组C++题目及答案 (2)

第十六届全国青少年信息学奥林匹克联赛初赛试题(普及组 C++语言两小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。

每题有且仅有一个正确选项。

)1.2E+03表示()。

A. 2.03B. 5C. 8D. 20002.一个字节(byte)由()个二进制位组成。

A. 8B. 16C. 32D. 以上都有可能3.以下逻辑表达式的值恒为真的是()。

A. P∨(¬P∧Q)∨(¬P∧¬Q)B. Q∨(¬P∧Q)∨(P∧¬Q)C. P∨Q∨(P∧¬Q)∨(¬P∧Q)D. P∨¬Q∨(P∧¬Q)∨(¬P∧¬Q)4.Linux下可执行文件的默认扩展名为()。

A. exeB. comC. dllD. 以上都不是5.如果树根算第1层,那么一棵n层的二叉树最多有()个结点。

A. 2n-1B. 2nC. 2n+1D. 2n+16.提出“存储程序”的计算机工作原理的是()。

A. 克劳德·香农B. 戈登·摩尔C. 查尔斯·巴比奇D. 冯·诺依曼7.设X、Y、Z分别代表三进制下的一位数字,若等式XY + ZX = XYX在三进制下成立,那么同样在三进制下,等式XY * ZX = ()也成立。

A. YXZB. ZXYC. XYZD. XZY8.Pascal语言、C语言和C++语言都属于()。

A. 面向对象语言B. 脚本语言C. 解释性语言D. 编译性语言9.前缀表达式“+ 3 * 2 + 5 12”的值是()。

A. 23B. 25C. 37D. 6510.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。

而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。

noip21初赛普及组c++题目及答案

noip21初赛普及组c++题目及答案

第十六届全国青少年信息学奥林匹克联赛初赛试题(普及组C++语言两小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。

每题有且仅有一个正确选项。

)1.2E+03表示()。

A. 2.03B.5C.8D.20002.一个字节(byte)由()个二进制位组成。

A.8B.16C.32D.以上都有可能3.以下逻辑表达式的值恒为真的是()。

A.P∨(?P∧Q)∨(?P∧?Q)B.Q∨(?P∧Q)∨(P∧?Q)C.P∨Q∨(P∧?Q)∨(?P∧Q)D.P∨?Q∨(P∧?Q)∨(?P∧?Q)4.Linux下可执行文件的默认扩展名为()。

A.exeC.dllD.以上都不是5.如果树根算第1层,那么一棵n层的二叉树最多有()个结点。

A.2n-1B.2nC.2n+1D.2n+16.提出“存储程序”的计算机工作原理的是()。

A.克劳德·香农B.戈登·摩尔C.查尔斯·巴比奇D.冯·诺依曼7.设X、Y、Z分别代表三进制下的一位数字,若等式XY+ZX=XYX在三进制下成立,那么同样在三进制下,等式XY*ZX=()也成立。

A.YXZB.ZXYC.XYZD.XZY8.Pascal语言、C语言和C++语言都属于()。

A.面向对象语言B.脚本语言C.解释性语言D.编译性语言9.前缀表达式“+3*2+512”的值是()。

A.23B.25C.37D.6510.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。

而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。

于是,为了提高系统整体的执行效率,在CPU中引入了()。

A.寄存器B.高速缓存C.闪存D.外存11.一个字长为8位的整数的补码是,则它的原码是()。

A.00000111B.01111001C.D.12.基于比较的排序时间复杂度的下限是(),其中n表示待排序的元素个数。

NOIPCSP普及组历年复赛真题题单(1998~2020)

NOIPCSP普及组历年复赛真题题单(1998~2020)

NOIPCSP普及组历年复赛真题题单(1998~2020)**转载⾃: **1.CSP-J 2020T1 优秀的拆分位运算、进制转换T2 直播获奖桶排序T3 表达式栈、深搜T4 ⽅格取数动态规划2.CSP-J 2019T1 数字游戏字符串T2 公交换乘模拟、队列T3 纪念品背包T4 加⼯零件⼴搜、最短路3.NOIP2018 普及组T1 标题统计字符串T2 龙虎⽃枚举、预处理T3 摆渡车动态规划T4 对称⼆叉树⼆叉树4.NOIP2017 普及组T1 成绩枚举模拟T2 图书管理员结构体排序T3 棋盘深搜、剪枝T4 跳房⼦⼆分、动态规划5.NOIP2016 普及组T1 买铅笔枚举模拟T2 回⽂⽇期回⽂T3 海港⼤模拟、队列T4 魔法阵枚举、前缀和6.NOIP2015 普及组T1 ⾦币枚举模拟T2 扫雷游戏枚举模拟T3 求和组合数学T4 推销员贪⼼、优先队列7.NOIP2014 普及组T1 珠⼼算测验模拟T2 ⽐例简化枚举、gcdT3 螺旋矩阵模拟、找规律T4 ⼦矩阵动态规划8.NOIP2013 普及组T1 计数问题枚举模拟T2 表达式求值栈T3 ⼩朋友的数字动态规划T4 车站分级拓扑排序9.NOIP2012 普及组T1 质因数分解枚举模拟、质数T2 寻宝模拟、取模T3 摆花背包、动态规划T4 ⽂化之旅最短路10.NOIP2011 普及组T1 数字反转进制转换T2 统计单词数字符串T3 瑞⼠轮归并排序T4 表达式的值动态规划、栈11.NOIP2010 普及组T1 数字统计模拟枚举T2 接⽔问题模拟T3 导弹拦截贪⼼T4 三国游戏贪⼼、博弈12.NOIP2009 普及组T1 多项式输出模拟T2 分数线划定结构体排序T3 细胞分裂约数T4 道路游戏动态规划13.NOIP2008 普及组T1 ISBN 号码字符串T2 排座椅贪⼼T3 传球游戏动态规划T4 ⽴体图⼤模拟14.NOIP2007 普及组T1 奖学⾦结构体排序T2 纪念品分组贪⼼T3 守望者的逃离贪⼼T4 Hanoi 双塔问题⾼精度15.NOIP2006 普及组T1 明明的随机数枚举模拟T2 开⼼的⾦明 01背包T3 Jam 的计数法模拟T4 数列进制转换16.NOIP2005 普及组T1 陶陶摘苹果枚举模拟T2 校门外的树枚举模拟T3 采药 01背包T4 循环⾼精度17.NOIP2004 普及组T1 不⾼兴的津津模拟T2 花⽣采摘贪⼼T3 FBI 树递归、⼆叉树T4 ⽕星⼈ STL、深搜18.NOIP2003 普及组T1 乒乓球模拟T2 数字游戏动态规划T3 栈组合数学、卡特兰数T4 麦森数⾼精度19.NOIP2002 普及组T1 级数求和枚举T2 选数深搜T3 产⽣数深搜T4 过河卒递推、动态规划20.NOIP2001 普及组T1 数的计算递推、递归T2 最⼤公约数和最⼩公倍数问题枚举、GCD T3 求先序排列⼆叉树T4 装箱问题 01背包21.NOIP2000 普及组T1 计算器的改良⼀元⼀次⽅程、模拟T2 税收与补贴问题不等式、数论T3 乘积最⼤动态规划、⾼精度T4 单词接龙深搜22.NOIP1999 普及组T1 Cantor表找规律T2 回⽂数进制转换T3 旅⾏家的预算贪⼼23.NOIP1998 普及组T1 三连击简单数学、枚举、进制转换T2 阶乘和⾼精度T3 2的幂次⽅表⽰深搜。

信息学奥赛普及组1-18届问题求解题解析

信息学奥赛普及组1-18届问题求解题解析

历届“问题求解”解析(2013竞赛辅导)问题求解是信息学竞赛初赛中常见题型,它共两题,每题5分,共10分,十六届增加了比重,有三题,占15分。

诸如寻找假币、博弈原理、抽屉原理、容斥问题、排列组合、逻辑推理、递推关系等问题出现在问题求解中。

(相关问题的具体讲解根据需要考虑发讲义) 第一届(逻辑推理问题)1. 有标号为A 、B 、C 、D 和1、2、3、4的8个球,每两个球装一盒,分装4盒。

标号为字母的球与标号为数字的球有着某种一一对应的关系(称为匹配),并已知如下条件: ① 匹配的两个球不能在一个盒子内。

② 2号匹配的球与1号球在一个盒子里。

③ A 号和2号球在一个盒子里。

④ B 匹配的球和C 号球在一个盒子里。

⑤ 3号匹配的球与A 号匹配的球在一个盒子里。

⑥ 4号是A 或B 号球的匹配球。

⑦ D 号与1号或2号球匹配。

请写出这四对球匹配的情况。

第四届(递推、树、图)1. 已知一个数列U 1,U 2,U 3,…,U N ,… 往往可以找到一个最小的K 值和K 个数a 1,a 2,…,a n 使得数列从某项开始都满足: U N+K =a 1U N+K-1+a 2U N+K-2+……+a k U N (A)例如对斐波拉契数列1,1,2,3,5,…可以发现:当K=2,a 1 =1,a 2 =1时,从第3项起(即N>=1)都满足U n+2 =U n+1+U n 。

试对数列13,23,33,…,n 3,…求K 和a 1,a 2, …,a K 使得(A )式成立。

当K= 4,a 1,a 2,…,a k 为a 1=4, a 2=6, a 3=4,a 4=-1对数列132333,…,n 3,…(A )成立。

2.给出一棵二叉树的中序遍历:DBGEACHFI 与后序遍历:DGEBHIFCA 画出此二叉树。

3.用邻接矩阵表示下面的无向图:表示该无向图的邻接矩阵为 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0第五届(递推)将Ln 定义为求在一个平面中用n 条直线所能确定的最大区域数目。

动态规划习题培训资料

动态规划习题培训资料

动态规划习题动态规划专题分类视图数轴动规题: (2)较复杂的数轴动规 (7)线性动规 (12)区域动规: (25)未知的动规: (35)数轴动规题:题1.2001年普及组第4题--装箱问题【问题描述】有一个箱子容量为V(正整数,0≤V≤20000),同时有n个物品(0<n≤30),每个物品有一个体积(正整数)。

要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

【输入格式】输入文件box.in有若干行。

第一行:一个整数,表示箱子容量V;第二行:一个整数,表示物品个数n;接下来n行,分别表示这n个物品的各自体积。

【输出格式】输出文件box.out只有一行数据,该行只有一个数,表示最小的箱子剩余空间。

【输入样例】2468312797【输出样例】题2.1996年提高组第4题--砝码秤重 __数据加强版【问题描述】设有n种砝码,第k种砝码有C k个,每个重量均为W k,求:用这些砝码能秤出的不同重量的个数,但不包括一个砝码也不用的情况。

【输入格式】输入文件weight.in的第一行只有一个数n,表示不同的砝码的种类数.第2行至第n+1行,每行有两个整数.第k+1行的两个数分别表示第k种砝码的个数和重量.【输出格式】输出文件weight.out中只有一行数据:Total=N。

表示用这些砝码能秤出的不同重量数。

【输入样例】22 22 3【输出样例】Total=8【样例说明】重量2,3,4,5,6,7,8,10都能秤得【数据限制】对于100%的数据,砝码的种类n满足:1≤n≤100;对于30%的数据,砝码的总数量C满足:1≤C≤20;对于100%的数据,砝码的总数量C满足:1≤C≤100;对于所有的数据,砝码的总重量W满足:1≤W≤400000;题3.石子归并-szgb.pas【问题描述】有一堆石头质量分别为W1,W2,…,Wn.(Wi≤10000),将石头合并为两堆,使两堆质量的差最小。

【输入】输入文件szgb.in的第一行只有一个整数n(1≤n≤50),表示有n堆石子。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

求先序排列【NOIP2001普及组】
Time Limit:10000MS Memory Limit:65536K
Total Submit:4 Accepted:4
Description
给出一棵二叉树的中序与后序排列。

求出它的先序排列。

(约定树结点用不同的大写字母表示,长度<= 8)。

样例输入:
BADC
BDCA
样例输出:
ABCD
Input
Output
Sample Input
BADC
BDCA
Sample Output
ABCD
Source
∙var
∙ s1,s2:string;
∙procedure dfs(s1,s2:string);
∙var ch:char;
∙ p:longint;
∙begin
∙ if length(s1)=0 then exit;
∙ ch:=s2[length(s2)];
∙ write(ch);
∙ p:=pos(ch,s1);
∙ dfs(copy(s1,1,p-1),copy(s2,1,p-1));
∙ dfs(copy(s1,p+1,length(s1)-p),copy(s2,p,length(s2)-p)); ∙end;

∙begin
∙ readln(s1);
∙ readln(s2);
∙ dfs(s1,s2);
∙end.
装箱问题【NOIP2001普及组】
Time Limit:10000MS Memory Limit:65536K
Total Submit:23 Accepted:20
Description
有一个箱子容量为V(正整数,0 <=V <=20000),同时有n个物品(0 <n <=30),每个物品有一个体积(正整数)。

要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

Input
24一个整数,表示箱子容量
6一个整数,表示有n个物品
8接下来n行,分别表示这n 个物品的各自体积
3
12
7
9
7
Output
0一个整数,表示箱子剩余空间。

Sample Input
24 {一个整数,表示箱子容量}
6 {一个整数,表示有n个物品}
8 {接下来n行,分别表示这n 个物品的各自体积}
3
12
7
9
7
Sample Output
0 {一个整数,表示箱子剩余空间} Source
∙var
∙ i,j,n,v,x:longint;
∙ a:array[0..20000] of boolean;
∙begin
∙ readln(v);
∙ readln(n);
∙ a[0]:=true;
∙ for i:=1 to n do begin
∙ readln(x);
∙ for j:=v-x downto 0 do if a[j] then ∙ a[j+x]:=true;
∙ end;
∙ j:=0;
∙ for i:=v downto 0 do if a[i] then begin ∙ j:=i; break;
∙ end;
∙ writeln(v-j);
∙end.。

相关文档
最新文档