2014NOIP测试题解答
NOIP2014普与组复赛试题讲解(c++版本)
➢
d--;r--;
➢
}
➢
}
➢
}
-9-
第4题 “子矩阵”简述
- 10 -
暴力搜索(预计得分50分)
➢ 构造出行(DFS) ➢ 构造出列(DFS) ➢ 计算目前的子矩阵的分值
- 11 -
暴力搜索程序模块
➢ void w(int k)
➢{
if(k==row+1)
➢ { h(1);//进入列搜索
➢
return; }
➢
if(ansa*b1>ansb*a1)
{
➢
else return gcd(y,t);
➢
ansa=a1;
➢}
➢ ansb=b1;
➢ int main()
➢}
➢{
➢
}
➢
int a,b,l,a1,b1,ansa,ansb; ➢ cout<<ansa<<" "<<ansb;
➢
cin>>a>>b>>l;
➢ return 0;
➢
return; }
➢ if(m-c[g-1]>=col-g+1)
➢ { for(int i=c[g-1]+1;i<=m;i++)
➢
{ c[g]=i;
➢
h(g+1);}
➢}
➢}
- 13 -
暴力搜索程序模块
➢ int pd()
➢{
➢ int sum=0;
➢ for(int i=1;i<=row;i++)
➢
NOIP(2014)第二十届全国青少年信息学奥林匹克联赛初赛试题及答案(提高组PASCAL)
NOIP(2014)第二十届全国青少年信息学奥林匹克联赛初赛试题及答案(提高组PASCAL)第二十届全国青少年信息学奥林匹克联赛初赛提高组Pascal语言试题竞赛时间:2014年10月12日14:30~16:30选手注意:● 试题纸共有10页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上的一律无效。
● 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题1.5分,共计22.5分;每题有且仅有一个正确选项)1.以下哪个是面向对象的高级语言()。
A. 汇编语言B. C++C. FORTRAND. Basic2.1TB代表的字节数量是()。
A. 2的10次方B. 2的20次方C. 2的30次方D. 2的40次方3. 二进制数00100100和00010101的和是()。
A. 00101000B. 001010100C. 01000101D. 001110014. TCP协议属于哪一层协议()。
A. 应用层B. 传输层C. 网络层D. 数据链路层5. 下列几个32位IP地址中,书写错误的是().A. 162.105.130.27B. 192.168.0.1C. 256.256.129.1D. 10.0.0.16. 在无向图中,所有顶点的度数之和是边数的()倍。
A. 0.5B. 1C. 2D. 47. 对长度为n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为()。
A. n/2B. (n+1)/2C. (n-1)/2D. n/48. 编译器的主要功能是( )。
A. 将一种高级语言翻译成另一种高级语言B. 将源程序翻译成指令C. 将低级语言翻译成高级语言D. 将源程序重新组合9. 二进制数111.101所对应的十进制数是( )。
A. 5.625B. 5.5 C 6.125 D. 7.62510. 若有变量var a:integer ;x ,y:real ;,且a:=7,x:=2.5,y:=4.7,则表达式x + a mod 3 * trunc(x + y) mod 2 div 4的值大约是( )。
NOIP2014初赛普及组C++题目及答案
NOIP2014初赛普及组C++题目及答案第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题2014年一、快单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。
A.汇编语言B.C++C.FortranD.Basic⒉1TB代表的字节数是( )。
A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。
A.00101000B.001010100C.01000101D.00111001⒋以下哪一种设备属于输出设备( )。
A.扫描仪B.键盘C.鼠标D.打印机⒌下列对操作系统功能的描述最为完整的是( )。
A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序⒍CPU、存储器、I/O设备是通过( )连接起来的。
A.接口B.总线C.控制线D.系统文件⒎断电后会丢失数据的存储器是( )。
A.RAMB.ROMC.硬盘D.光盘⒏以下哪一种是属于电子邮件收发的协议( )。
A.SMTPB.UDPC.P2PD.FTP⒐下列选项中不属于图像格式的是( )。
A.JPEG格式B.TXT格式C.GIF格式D.PNG格式⒑链表不具有的特点是( )。
A.不必事物估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比⒒下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。
A.296B.133C.256D.199⒓下列几个32位IP地址中,书写错误的是( )。
A.162.105.135.27B.192.168.0.1C.256.256.129.1D.10.0.0.1⒔要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。
#include <iostream>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;}程序运行后输出结果错误,导致错误结果的程序行是( )。
noip2014普及组初赛试题+答案
NOIP 2014 第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2014 年10月11日14:30〜16:30选手注意:1、 试题纸共有 5页,答题纸共有 2页,满分100分。
请在答题纸上作答,写在试题 纸上的一律无效。
2、 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序6. CPU 、存储器、 A.接口 B.总线 C.控制线7•断电后会丢失数据的存储器是 A.RAM B.ROM C.硬盘8•以下哪一种是属于电子邮件收发的协议12•下列几个32位IP 地址中,书写错误的是 ( )。
A.162.105.135.27B.192.168.0.1C.256.256.129.1 13•要求以下程序的功能是计算: s=1+1/2+1/3+...+1/10 #in elude <iostream>一、单项选择题(共20题,每题1.51.以下哪个是面向对象的高级语言(A.汇编语言B.C++C.Fortran2. 1TB 代表的字节数是()。
A.2的10次方 B.2的20次方分,共计 )。
D.Basic30分;每题有且仅有一个正确选项 )C.2 的 30 的和是( A.00101000B.001010100C.010001014•以下哪一种设备属于输出设备( )。
A.扫描仪B.键盘C.鼠标D.打印机5•下列对操作系统功能的描述最为完整的是 ( 次方 D.2的40次方)。
D.00111001I/O 设备是通过()连接起来的。
D.系统文件 (A.SMT PB.UD PC.P2PD.FT P9•下列选项中不属于图像格式的是(A.JPEG 格式B.TXT 格式C.GIF 10.链表不具有的特点是( A.不必事物估计存储空间 C.插入删除不需要移动元素11•下列各无符号十进制整数中,A.296B.133C.256 )。
NOIP2014初赛普及组C 题目及答案
第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题2014年一、快单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。
A.汇编语言B.C++C.FortranD.Basic⒉1TB代表的字节数是( )。
A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。
A.00101000B.001010100C.01000101D.00111001⒋以下哪一种设备属于输出设备( )。
A.扫描仪B.键盘C.鼠标D.打印机⒌下列对操作系统功能的描述最为完整的是( )。
A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序⒍CPU、存储器、I/O设备是通过( )连接起来的。
A.接口B.总线C.控制线D.系统文件⒎断电后会丢失数据的存储器是( )。
A.RAMB.ROMC.硬盘D.光盘⒏以下哪一种是属于电子邮件收发的协议( )。
A.SMTPB.UDPC.P2PD.FTP⒐下列选项中不属于图像格式的是( )。
A.JPEG格式B.TXT格式C.GIF格式D.PNG格式⒑链表不具有的特点是( )。
A.不必事物估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比⒒下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。
A.296B.133C.256D.199⒓下列几个32位IP地址中,书写错误的是( )。
A.162.105.135.27B.192.168.0.1C.256.256.129.1D.10.0.0.1⒔要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。
#include <iostream>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;}程序运行后输出结果错误,导致错误结果的程序行是( )。
Noip2014初赛提高组C试题及答案(完整版)
Noip2014初赛提高组试题及答案(完整版)提高组C语言试题、单项选择题(每题1.5分,共22.5分)。
A. 162.105.128.27B. 192.168.0.1C. 256.256.129.1D. 10.0.0.16. 在无向图中,所有定点的度数之和是边数的()倍.A. 0.5B. 1C. 2D. 47. 对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为().A. n/2B. (n+1)/2C. (n-1)/2D. n/48. 编译器的主要功能是().A. 将一种高级语言翻译成另一种高级语言B. 将源程序翻译成指令C. 将低级语言翻译成高级语言D. 将源程序重新组合9. 二进制数111.101所对应的十进制数是().A. 5.625B. 5.5C. 6.125D. 7.62510. 若有变量int a, float x, y,且a=7, x=2.5, y=4.7,则表达式x+a%3*(int)(x+y)%2/4 的值大约是().A. 2.500000B. 2.750000C. 3.500000D. 0.00000011. 有以下结构体说明和变量定义,如图所示,指针结点。
data nextr data n ext* -data n ext1. 以下哪个是面向对象的咼级语言().A.汇编语言B. C++C. FORTRAN2. 1TB代表的字节数量是().A. 2的10次方B. 2的20次方C. 2的3. 二进制数00100100 和00010101 的和是().A. 00101000B. 001010100C. 010001014. TCP协议属于哪一层协议().A.应用层B.传输层C.网络层D.D. Basic30次方D. 2的40次方D. 00111001数据链路层).P、q、r分别指向一个链表中的三个续struct node {int data;struct node *n ext;} *P ,*q,*r;现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是().A. q->n ext = r->n ext; p-> n ext = r; r->n ext = q;B. p->n ext = r; q->n ext = r->n ext; r->next = q;C. q->next = r->n ext; r->n ext = q; p->n ext = r;D. r->next = q; q->next = r->n ext; p->n ext = r;12. 同时查找2n个数中的最大值和最小值,最少比较次数为A. 3(n-2)/2B. 4n-2C. 3n-2D. 2n-213. 设G是有6个结点的完全图,要得到一颗生成树,需要从().G中删去()条边.A. 6B. 9C. 10D. 1514. 以下时间复杂度不是 0(n 1 2 3 4 5)的排序方法是().A. 插入排序B. 归并排序C. 冒泡排序15. 以下程序实现了找第二小元素的算法。
NOIP2014 题解
NOIP2014 题解D1T1 : 生活大爆炸版石头剪刀布(rps)100% : 模拟。
另一种方法,可以先求出na,nb 的最小公倍数l ,在[1,l]的区间里模拟,对于剩下的部分,显然是循环了若干次[1,l]内的胜负情况,并剩余了一小部分,于是只要把两人的分数各自乘n div l,再对剩下的部分模拟即可。
复杂度 : O(na*nb)D1T2 : 联合权值(linp)30% : 穷举三个点,判断是否相邻,再统计权值并更新答案。
复杂度 : O(n^3)60% : 穷举一个点,并以该点为起点搜索,查找距离为2的结点,统计后更新答案。
复杂度 : O(n^2)100% : 记][i fa 为结点i 的父亲, ][i pow 是i 的权值。
题目给出了n 个点,n-1条边,那么这是一棵树。
那么考虑树形dp 。
很显然,距离为2的点在一棵树中有且仅有两种不同的位置,第一种是结点i 与结点]][[i fa fa ,第二种则是结点i 与结点j ,其中][][j fa i fa =。
记∑=][][j pow i sum,]}[{]max[j pow Max i =,其中][j fa i =。
那么有∑∑-+=])[]][[(*][]][[*][*2_j pow j fa sum j pow i fa pow i sum sum ans ,]}[*][]],[[*]{max[max _i y i x i fa pow i Max ans =,其中][],[i y i x 是i 的子节点中权值最大的两个。
复杂度 : O(n)D1T3 : 飞扬的小鸟(bird)30% : 搜索。
70% : 考虑动态规划,记],[j i f 为达到坐标),(j i 至少要点击几次屏幕。
则有]])1[,1[,]]1[*,1[(],[-+-+---=i y j i f k i x k j i f Min j i f ,注意考虑边界情况。
复杂度 : O(nm^2)100% : 上述动态规划超时的原因在于转移复杂度太高,如果能将转移复杂度降为O(1),那么就可以轻松将此题AC ,仔细想想发现对于所有可以用于更新],[j i f 的状态的高度都与j 同余(mod x[i-1]),那么在实际实现上述动态规划时,我们可以先穷举同余系,并以高度从低到高进行动态规划,在同一同余系中,记一个变量temp 为已经访问的状态中可以用于更新的最小值,每穷举到一个新的状态,把temp 更新为]),1[,1(j i f temp Min -+,并且只用temp+1更新其他状态。
2014年NOIP信息学奥林匹克初赛试题和答案(普及组C++语言)
第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题2014年一、快单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言( )。
A.汇编语言B.C++C.FortranD.Basic⒉1TB代表的字节数是( )。
A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是( )。
A.00101000B.001010100C.01000101D.00111001⒋以下哪一种设备属于输出设备( )。
A.扫描仪B.键盘C.鼠标D.打印机⒌下列对操作系统功能的描述最为完整的是( )。
A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序⒍CPU、存储器、I/O设备是通过( )连接起来的。
A.接口B.总线C.控制线D.系统文件⒎断电后会丢失数据的存储器是( )。
A.RAMB.ROMC.硬盘D.光盘⒏以下哪一种是属于电子邮件收发的协议( )。
A.SMTPB.UDPC.P2PD.FTP⒐下列选项中不属于图像格式的是( )。
A.JPEG格式B.TXT格式C.GIF格式D.PNG格式⒑链表不具有的特点是( )。
A.不必事物估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比⒒下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( )。
A.296B.133C.256D.199⒓下列几个32位IP地址中,书写错误的是( )。
A.162.105.135.27B.192.168.0.1C.256.256.129.1D.10.0.0.1⒔要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。
#include <iostream>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;}程序运行后输出结果错误,导致错误结果的程序行是( )。
NOIP2014普及组复赛试题
1. 珠心算测验【问题描述】 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。
珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。
某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。
他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和? 最近老师出了一些测验题,请你帮忙求出答案。
【输入】输入文件名为count.in 。
输入共两行,第一行包含一个整数n ,表示测试题中给出的正整数个数。
第二行有n 个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。
【输出】输出文件名为count.out 。
输出共一行,包含一个整数,表示测验题答案。
【输入输出样例】 count.in count.out 4 1 2 3 42【样例说明】由1+2=3,1+3=4,故满足测试要求的答案为2。
注意,加数和被加数必须是集合中的两个不同的数。
【数据说明】对于100%的数据,3 ≤ n ≤ 100,测验题给出的正整数大小不超过10,000。
2.比例简化【问题描述】在社交媒体上,经常会看到针对某一个观点同意与否的民意调查以及结果。
例如,对某一观点表示支持的有1498人,反对的有902人,那么赞同与反对的比例可以简单的记为1498:902。
不过,如果把调查结果就以这种方式呈现出来,大多数人肯定不会满意。
因为这个比例的数值太大,难以一眼看出它们的关系。
对于上面这个例子,如果把比例记为5:3,虽然与真实结果有一定的误差,但依然能够较为准确地反映调查结果,同时也显得比较直观。
现给出支持人数A,反对人数B,以及一个上限L,请你将A比B化简为A’比B’,要求在A’和B’均不大于L且A’和B’互质(两个整数的最大公约数是1)的前提下,A’/B’≥A/B 且A’/B’ - A/B的值尽可能小。
【输入】输入文件名为ratio.in。
2014noip普及组复赛测试(答案)
老师给笑笑布置了一份作业,笑笑不知如何解决。
老师给了一串很长的数列,要求从中找出连续的一段来使的总和最大。
【输入文件】:第一行包含一个整数n,表示数列的长度。
(n<=100000)第二行包含n个整数来描述这个数列,每个整数的的绝对值不超过1000。
【文件输出】:文件中只有一个整数,为最大的连续段总和。
【输入样例】:51 -23 1 -4【输出样例】4vars:array[1..10000] of longint;n,ii,t,ans:longint;beginreadln(n);for i:=1 to n doread(s[i]);t:=s[1];ans:=s[1];for i:=2 to n dobeginif t<0 then t:=s[i] else t:=t+s[i];if t>ans then ans:=t;end;writeln(ans);end.输入61 5 4 -2 63 输出17输入1024 -12 9 11 7 20 -8 15 3 18 输出87输入710 8 9 -5 12 6 11 输出51输入205 12 19 20 -7 -6 18 22 19 8 11 33 15 32 17 -30 4 14 24 -13输出230【问题描述】鲁宾逊先生有一只宠物猴,名叫多多。
这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。
鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。
在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格(如图1)。
有经验的多多一眼就能看出,每棵花生植株下的花生有多少。
为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边。
”我们假定多多在每个单位时间内,可以做下列四件事情中的一件:1)从路边跳到最靠近路边(即第一行)的某棵花生植株;2)从一棵植株跳到前后左右与之相邻的另一棵植株;3)采摘一棵植株下的花生;4)从最靠近路边(即第一行)的某棵花生植株跳回路边。
2014noip复赛模拟练习1(答案)
【问题描述】请统计某个给定范围[L,R]的所有整数中,数字N出现的次数。
【输入格式】共1行,为三个正整数L、R和N,之间用空格隔开。
(1≤L≤R≤10000)。
【输出格式】仅1行,表示数字N出现的次数。
如输入2 22 2 则输出6var a,b,c,d,e,f,n:integer;beginassign(input,'two.in');reset(input);assign(output,'two.out');rewrite(output);readln(a,b,n);f:=0;d:=0;for c:=a to b dobegine:=c;repeatd:=e mod 10;e:=e div 10;if d=n then inc(f);until e=0;end;writeln(f);close(input);close(output);end.输入2 100 5输出 20 输入 1 1000 9 输出 300输入 2222 2223 2 输出 7 输入 9993 10000 2 输出 02.用自然数1,2,3,4,5,。
构成连续数1234567891011…9899100101…从键盘输入整数m(20000m),输出第m位数字。
样例输入输出:输入:m=15输出:2①m=11②m=194③m=100007④m=199992var p,d,i,j,w,c,m:integer;beginwrite('m=');readln(m);c:=1;i:=1;while c<m do begini:=i+1;w:=1;j:=i;while j>=10 do beginj:=j div 10;w:=w+1;end;c:=c+w;end;d:=c-m+1;for j:=1 to d do beginp:=i mod 10;i:=i div 10;end;writeln(p);end.3.聪明的囚犯:传说从前有一个残暴的国王,喜欢杀戮百姓。
noip2014(简单题)全解
现在,小 A 和小 B 尝试玩这种升级版的猜拳游戏。已知他们的出拳都是有 周期性规律的,但周期长度不一定相等。例如:如果小 A 以“石头-布-石头 -剪刀-蜥蜴人-斯波克”长度为 6 的周期出拳,那么他的出拳序列就是“石 头-布-石头-剪刀-蜥蜴人-斯波克-石头-布-石头-剪刀-蜥蜴人-斯波克……”,而如果小 B 以“剪刀-石头-布-斯波克-蜥蜴人”长度为 5 的周期 出拳,那么他出拳的序列就是“剪刀-石头-布-斯波克-蜥蜴人-剪刀-石头-布 -斯波克-蜥蜴人-……” 已知小 A 和小 B 一共进行 N 次猜拳。每一次赢的人得 1 分,输的得 0 分; 平局两人都得 0 分。现请你统计 N 次猜拳结束之后两人的得分。
i=1; j=1;
if((b[j]==2)||(b[j]==3)) if(b[j]==0) sum++; continue; } if(a[i]==1) { if((b[j]==0)||(b[j]==3)) if(b[j]==1) sum++; continue;
sa++;
sa++;
} if(a[i]==2) {
பைடு நூலகம்
现在政府有关部门准备安装一个传播参数为 d 的无线网络发射器,希望你帮
助他们在城市内找出合适的路口作为安装地点,使得覆盖的公共场所最多。
简单说下坑
菜比思路就是纯暴力,枚举每个能放发射器的地方然后看
哪一个覆盖的公共场所最多。怎么求每个位置的覆盖公共 场所数这里,可以在读入公共场所的位置的时候就把能覆 盖这个公共场所的位置求一下,位置上的覆盖数++;也可 以枚举每个位置时再用双重循环找它的覆盖范围内的公共 场所数。不管怎么玩应该都不会超时。 很多人没有AC,因为这道题有坑。很多人拿了60、70、 80分。 但是英勇的大哥AC了! 坑就是街道是编号为0-128的129条,枚举的边界虽然在这 里面,但是加上了覆盖范围之后就可能数组越界。必须判 断在不在范围内。 仁慈的出题人没有让覆盖范围是圆形。。。幸好是方形。
学科竞赛-NOIP2014提高组复赛试题_2
NOIP2014提高组复赛试题全国信息学奥林匹克联赛(2014)复赛提高组11.生活大爆炸版石头剪刀布()【问题描述】石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。
如果两个人出拳一样,则不分胜负。
在《生活大爆炸》第二季第8集中出现了一种石头剪刀布的升级版游戏。
升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势:斯波克:《星际迷航》主角之一。
蜥蜴人:《星际迷航》中的反面角色。
这五种手势的胜负关系如表一所示,表中列出的是甲对乙的游戏结果。
表一石头剪刀布升级版胜负关系剪刀石头布蜥蜴人斯波克甲对乙的甲'结果剪刀平输赢赢输石头平输赢输布平输赢蜥蜴人平赢斯波克平现在,小A和小B尝试玩这种升级版的猜拳游戏。
已知他们的出拳都是有周期性规律的,但周期长度不一定相等。
例如:如果小A以“石头-布-石头-剪刀-蜥蜴人-斯波克”长度为6的周期出拳,那么他的出拳序列就是“石头-布-石头-剪刀-蜥蜴人-斯波克-石头-布-石头-剪刀-蜥蜴人-斯波克-……”,而如果小B 以“剪刀-石头-布-斯波克-蜥蜴人”长度为5的周期出拳,那么他出拳的序列就是“剪刀-石头-布-斯波克-蜥蜴人-剪刀-石头-布-斯波克-蜥蜴人-……”已知小A和小B一共进行N次猜拳。
每一次赢的人得1分,输的得0 分;平局两人都得0 分。
现请你统计N 次猜拳结束之后两人的得分。
【输入】输入文件名为。
第一行包含三个整数:N,,,分别表示共进行N次猜拳、小A出拳的周期长度,小B出拳的周期长度。
数与数之间以一个空格分隔。
第二行包含个整数,表示小A出拳的规律,第三行包含个整数,表示小B出拳的规律。
其中,0表示“剪刀” ,1表示“石头”, 2表示“布”,3 表示“蜥蜴人” ,4 表示“斯波克”。
数与数之间以一个空格分隔。
【输出】输出文件名为。
输出一行,包含两个整数,以一个空格分隔,分别表示小A、小B的得分。
【输入输出样例1】【输入输出样例2】【数据说明】对于100%勺数据,0 2.联合权值()【问题描述】无向连通图G有n个点,1条边。
NOIP2014提高组初赛真题解析(附往年真题)
NOIP2014提高组初赛真题解析(附往年真题)计算机语言具有高级语言和低级语言之分。
而高级语言又主要是相对于汇编语言而言的高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,易语言低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。
机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。
D1TB=2^10GB=2^20MB=2^30KB=2^40BYTE送分题,了解二进制计算即可。
4. TCP协议属于哪一层协议()。
A. 应用层 B. 传输层 C. 网络层 D. 数据链路层BTCP(传输控制协议)5. 下列几个32位IP地址中,书写错误的是()。
A. 162.105.136.27 B. 192.168.0.1 C. 256.256.129.1 D. 10.0.0.1CIP地址0~2556. 在无向图中,所有顶点的度数之和是边数的()倍。
A. 0.5 B. 1 C. 2 D. 4C随便画个图看一下就行了,原理是因为无向图中,每个点的入度和=边数,每条边算了2遍7. 对长度为n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为()。
A. n/2 B. (n+1)/2 C. (n-1)/2 D. n/4 B检索任一元素检索长度T=1+2+3+4+5+6+……+n=n(n+1)/2因为概率相等,所以结果为T/n=(n+1)/28. 编译器的主要功能是()。
A. 将一种高级语言翻译成另一种高级语言B. 将源程序翻译成指令C. 将低级语言翻译成高级语言D. 将源程序重新组合B9. 二进制数111.101所对应的十进制数是()。
A. 5.625 B. 5.5C. 6.125D. 7.625D必考的进制转换送分题=w=A 运算优先级问题: 同一行的同级别,按从左往右依次计算D只要学过链表水过就好12. 同时查找2n个数中的最大值和最小值,最少比较次数为()。
NOIP2014提高组第一试题解
NOIP2014提高组第一试题解【第一题】石头剪刀布rps【题目大意】a和b石头剪刀布游戏,每个人一共有五种方式,相互之间的胜负关系给出,a和b出拳的方式是循环的,赢者得一份,其余不得分。
问n轮以后a和b的得分。
纯粹的模拟题,把胜负关系打表或者case出来即可。
1.#include <iostream>2.#include <cstdio>3.#include <cstdlib>4.ing namespace std;6.const int win[5][5] = {7. 0,0,1,1,0,8. 1,0,0,1,0,9. 0,1,0,0,1,10. 0,0,1,0,1,11. 1,1,0,0,012. };13.int a[205], b[205];14.int main()15.{16. freopen("rps.in","r",stdin);17. freopen("rps.out","w",stdout);18.int n, na, nb;19. cin>>n>>na>>nb;20.for (int i = 0; i < na; ++i) cin>> a[i];21.for (int i = 0; i < nb; ++i) cin>> b[i];22.int i = 0, j = 0;23.int ascore = 0, bscore = 0;24.while (n) {25. ascore += win[a[i]][b[j]];26. bscore += win[b[j]][a[i]];27. i = (i + 1) % na;28. j = (j + 1) % nb;29. n --;30. }31. cout << ascore << " "<< bscore<<endl;32.return 0;33.}【第二题】联合权值link给出n个点,n-1条件的图,每个点均有点权值w[i],如果i和j距离为2,那么他们会产生w[i] * w[j]的值,求问产生值中的最大值和产生值得总和。
noip2014普及组复赛题解
1.珠心算测验注意看清题意:其中有多少个数,恰好等于集合中另外两个(不同的)数之和。
这样的题意加上100的规模,建议暴力3个for:#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int n;int a[105];int main(){freopen("count.in","r",stdin);freopen("count.out","w",stdout);scanf("%d",&n);for(int i=1; i<=n; i++){scanf("%d",&a[i]);}sort(a+1,a+n+1);int res=0;for(int i=1; i<=n; i++){int ok=0;for(int j=1; j<=n && !ok; j++) if(j!=i){for(int k=1; k<=n && !ok; k++) if(a[k]!=a[j]){if(a[j]+a[k]==a[i]) ok=1;}}res+=ok;}printf("%d\n",res);return 0;}2.比例简化L很小,还是枚举,然后比较的话建议用乘法比较,避免精度问题:#include<cstdio>#include<cstring>#include<iostream>using namespace std;int A,B,L;int gcd(int a,int b){if(b==0) return a;return gcd(b,a%b);}int main(){freopen("ratio.in","r",stdin);freopen("ratio.out","w",stdout);scanf("%d%d%d",&A,&B,&L);int ba=1000000,bb=1;for(int i=1; i<=L; i++){for(int j=1; j<=L; j++){if(gcd(i,j)==1 && i*B>=j*A){if(ba*j>=bb*i){ba=i, bb=j;}}}}printf("%d %d\n",ba,bb);return 0;}3.螺旋矩阵没一圈的数量有规律的,最外面一圈(n-1)*4,然后每往里n-2,直到后要么只有一个点,要么4个点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、字符串操作:Bstrcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen(p) 取字符串长度strcmp(p, p1) 比较字符串strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串strchr(p, c) 在字符串中查找指定字符strrchr(p, c) 在字符串中反向查找strstr(p, p1) 查找字符串2、二叉树A、二叉树的五种形态:空、根、根左、根右、根左右B、完全二叉树——若设二叉树的高度为h,除第h 层外,其它各层(1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树。
C、满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。
D、深度——二叉树的层数,就是深度。
E、在非空二叉树中,第i层的结点总数不超过, i>=1;F、深度为h的二叉树最多有2^h-1个结点(h>=1),最少有h个结点;G、对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;H、具有n个结点的完全二叉树的深度为I、二叉树的三种遍历据地先序:根左右;左根右;左右根J、哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。
所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。
树的带权路径长度记为WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln),N个权值Wi(i=1,2,...n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,...n)。
可以证明哈夫曼树的WPL是最小的。
解析:4 * N + 3 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;即对于任意二叉树其叶结点数总是比度为2的结点数14 * N + 3 分解为:2*N+2 2*N+1 故答案为:2*N+2 E3、发送邮件协议SMTP 接收邮件协议POP3 接收协议还有POP IMAP B4、计算机存贮信息以二进制的方式:表示信息的单位是一个0或一个1;存贮信息的最小单位是一个字节(8位0和1)byte1KB=1024byte; 1GB=1024KB; 1TB=1024GB; 位图以点为单位存贮,一个字节有8个0和1;解析:20000分辩率为1024*768的真彩色的图需要1024*768*8*32的0和1 一张光盘可存600*1024*1024*8个点20000 * 1024 *768 *32 200 * 1 * 3 *1 *4600 *1024 *1024* 8 6 *1 *4 *1 答案为1005、计算机的组成:五个部分运算器、控制器、存贮器、输入设备、输出设备CPU=运算器+控制器主机=CPU+存贮器运算器(ALU)=算术运算器+逻辑运算器计算机中的总路线有地址总线和数据总路线;分别传送计算机的地址信号和数据信号"∨" 表示"或" (逻辑加法)"∧" 表示"与". (逻辑乘法)"┐"表示"非". (逻辑否定)"=" 表示"等价".1和0表示"真"和"假"(还有一种表示,"+"表示"或", "·"表示"与")6、BIOS:基本输入输出信息。
存贮器=内存+外存内存=只读存贮器ROM+隋机存贮器RAM7、图灵奖:它是计算机界最负盛名、最崇高的一个奖项,有“计算机界的诺贝尔奖”之称。
每年只奖一名,大多为美国人。
截止至2013年,获此殊荣的华人仅有一位,他是2000年图灵奖得主姚期智8、参考49、ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。
标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。
其中:大写A的编码为65、小写a的编码为9710、7+6+5+4+3+2+1=2811、A65 B66C67 D68 E 69 F70 G71 H72 I73 J74 K75 L76 M77 N78 其对应的16进制是4A12、后缀对应的是二叉的的后序;前缀是前序;表达式a*(b+c)-d的后缀表达式是:13、冯·诺依曼:美籍匈牙利人计算机之父”和“博弈论之父对人类最大贡献:存贮程序式的计算机思想142328、算法复杂度分为时间复杂度和空间复杂度。
其作用:时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。
(算法的复杂性体现在运行该算法时的计算机所需资源的多少上,计算机资源最重要的是时间和空间(即寄存器)资源,因此复杂度分为时间和空间复杂度)冒泡排序O(n2) O(n2) 快速排序O(log2n)~O(n) 选择排序O(n2)二叉树排序O(n*log2n) 插入排序O(n2) 堆排序O(n*log2n)常见算法时间复杂度:O(1):表示算法的运行时间为常量O(n):表示该算法是线性算法O(㏒2n): 二分查找算法O(n2): 对数组进行排序的各种简单算法,例如直接插入排序的算法。
O(n3): 做两个n阶矩阵的乘法运算O(2n): 求具有n个元素集合的所有子集的算法O(n!):求具有N个元素的全排列的算法优<---------------------------<劣O(1)<O(㏒2n)<O(n)<O(n2)<O(2n)时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n2)、立方阶O(n3)、……k次方阶O(n k)、指数阶O(2n)。
29 IP地址有两种IPV4(32位)和IPV6(128位)。
IP地址的分类:分为A,B,C,D,E五大类1、A类IP地址:一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围 1.0.0.1-126.255.255.254(二进制表示为:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110)。
可用的A类网络有126(2的7次方)个,每个网络能容纳1600(2的24次方=1024*1024*16)多万个主机。
2、B类IP地址:一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围128.1.0.1-191.254.255.254(二进制表示为:10000000 00000001 00000000 00000001 - 10111111 1111111011111111 11111110)。
可用的B类网络有16382个(2的14次方=1024*16),每个网络能容纳6万(2的16次方=1024*64)多个主机。
3.C类IP地址:一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。
地址范围192.0.1.1-223.255.255.254(二进制表示为: 11000000 00000000 00000001 00000001 - 11011111 1111111111111110 11111110)。
C类网络可达209万余个(2的21次方个=1024*1024*2),每个网络能容纳254个(2的8次方)主机。
30、计算机病毒:编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码被称为计算机病毒(Computer Virus)。
计算机病毒具有传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性。
计算机病毒的生命周期:31、只有一个出入口,先进后出。
32、TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
传输层:在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。
如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
网络接口层(主机-网络层):接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。
第一层:物理层(PhysicalLayer),规定通信设备的机械的、电气的、功能的和规程的特性,用以建立、维护和拆除物理链路连接。
具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
第二层:数据链路层(DataLinkLayer):在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。