【洛谷有题】NOIP 2014 提高组初赛试题 订正 网络协议 检索/比较次数计算
【洛谷有题】NOIP 2014 提高组初赛试题 订正
网络协议
第 4 题
TCP协议属于哪一层协议( ).
A. 应用层
B. 传输层
C. 网络层
D. 数据链路层
TCP/IP通讯协议采用了 4 层的层级结构,每一层都呼叫下一层所提供的网络来完成自己的需求。
- 应用层:应用程序间沟通的层:SMTP:简单电子邮件传输、FTP:文件传输协议、Telnet:网络远程访问协议、HTTP:超文本传输协议、XMPP:可扩展通讯和表示协议等
- 传输层:节点间的数据传送服务:TCP:传输控制协议、UDP:用户数据报协议等
- 网络层:基本的数据封包传送:如IP
- 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络:Ethernet、SerialLine等
【拓展】那么数据链路层在哪里呢?
其实上面的是4层模型,而还有个5层模型,但只不过是在4层的基础上的“网络接口层”变成了“数据链路层”和“物理层”。
又其实,还有一个7层模型(OSI),又但只不过是5层的基础上的“应用层”变成了三个层:“应用层”,“会话层”和“表示层”;比如HTTP协议就包含在应用层里。
检索/比较次数计算
第 7 题
对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为( ).
A. n/2
B. (n+1)/2
C. (n-1)/2
D. n/4
可以用平均数计算。如果元素刚好是第一个那就只要检索1次,若元素是最后一个那就要检索n次,平均(1+n)/2次
第 12 题
同时查找2n 个数中的最大值和最小值,最少比较次数为( ).
A. 3(n-2)/2
B. 4n-2
C. 3n-2
D. 2n-2
你也许以为最简单的是这样的:
1 int a[10010];
2 int maxn,minn;
3 int n;
4 int main()
5 {
6 cin>>n;
7 for(int i=0;i<2*n;i++) cin>>a[i];
8 maxn=minn=a[0];
9 for(int i=1;i<2*n;i++)
10 {
11 if(a[i]>maxn) maxn=a[i];
12 if(a[i]<minn) minn=a[i];
13 }
14 return 0;
15 }
比较了4n-2次,(然而本菜鸡把它算成了2n-2所以错了……2n-2突破计算机极限了?!)
或者是这样的:
int a[10010];
int maxn,minn;
int n;
int main()
{
cin>>n;
for(int i=0;i<2*n;i++) cin>>a[i];
maxn=minn=a[0];
for(int i=1;i<2*n;i++)
{
if(a[i]>maxn){
maxn=a[i];
}
else if(a[i]<minn) minn=a[i];
}
return 0;
}
平均比较1.5*2*n-2=3n-2,但是此题问的是至少比较次数,也就是最坏情况应该还是4n-2
其实是:
int a[10010];
int maxn,minn;
int n;
int main()
{
cin>>n;
for(int i=0;i<2*n;i++) cin>>a[i];
if(a[0]<a[1]){
maxn=a[1];
minn=a[0];
}
else{
maxn=a[0];
minn=a[1];
}
for(int i=2;i<2*n;i+=2)
{
if(a[i]<a[i+1])
{
if(maxn<a[i+1]) maxn=a[a+1];
if(minn>a[i]) minn=a[i];
}
else
{
if(maxn<a[i]) maxn=a[i];
if(minn>a[i+1]) minn=a[i+1]
}
}
return 0;
}
啊,真好……
首先外部比较1次。
其次,for循环会循环n-1次(注意步长为2)
每次从数组中取出两个数,先判断这两个数的大小(1次)
然后把大的与maxn比较,把小的与minn比较。(2次)
所以每次循环有三次比较,for中一共有3n-3次
再加上外面的一次,一共有3n-2次。
(以上代码未经过编译的哈,谨慎使用)
over
【洛谷有题】NOIP 2014 提高组初赛试题 订正 网络协议 检索/比较次数计算的更多相关文章
- noip 2014 提高组初赛
noip 2014 提高组初赛 一. TCP协议属于哪一层协议( ) A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 B TCP(传输控制协议) 若有变量int a; float: x, ...
- NOIP 2018 提高组初赛试题 题目+答案+简要解析
一.单项选择题(共 10 题,每题 2 分,共计 20 分: 每题有且仅有一个正确选项) 1. 下列四个不同进制的数中,与其它三项数值上不相等的是( ). A. (269) 16 B ...
- noip2018提高组初赛试题
一.单项选择题(共 10 题,每题 2 分,共计 20 分: 每题有且仅有一个正确选项) \2. 下列属于解释执行的程序设计语言是( ). A. C B. C++ C. Pascal D. Pytho ...
- NOIP 2014 提高组 题解
NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法 ...
- 洛谷P1003 铺地毯 noip2011提高组day1T1
洛谷P1003 铺地毯 noip2011提高组day1T1 洛谷原题 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n ...
- 洛谷P1063 能量项链 [2006NOIP提高组]
P1063 能量项链 题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标 记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子 ...
- 「洛谷P1080」「NOIP2012提高组」国王游戏 解题报告
P1080 国王游戏 题目描述 恰逢 \(H\)国国庆,国王邀请\(n\)位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 \( ...
- 洛谷-神奇的幻方-NOIP2015提高组复赛
题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,--,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...
- 洛谷 P1525 关押罪犯 & [NOIP2010提高组](贪心,种类并查集)
传送门 解题思路 很显然,为了让最大值最小,肯定就是从大到小枚举,让他们分在两个监狱中,第一个不符合的就是答案. 怎样判断是否在一个监狱中呢? 很显然,就是用种类并查集. 种类并查集的讲解——团伙(很 ...
- 洛谷 P5019 铺设道路 & [NOIP2018提高组](贪心)
题目链接 https://www.luogu.org/problem/P5019 解题思路 一道典型的贪心题. 假设从左往右填坑,如果第i个深与第i+1个,那么第i+1个就不需要额外填: 如果第i+1 ...
随机推荐
- 鸿蒙WebSocket的使用竟如此简单
使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器.当连接成功后,客户端会收到o ...
- VirtualBox磁盘扩容
前言 虚拟机开始时设置的磁盘空间比较小,后面使用就不够了. # 查询磁盘使用情况 df -h 虚拟硬盘扩容 关闭正在运行的虚拟机 选中工具栏 选择虚拟硬盘,并选中需要扩容的磁盘 拖动进度条,设置想要扩 ...
- Go语言之sync包 WaitGroup的使用
WaitGroup 是什么以及它能为我们解决什么问题? WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组.团队的意思,WaitGroup就是指等待一组, ...
- php 配置Gmail 发送邮件 PHPMailer
hotmail 获取邮箱授权码 准备 首先你应该登陆https://mail.google.com地址,注册一个Gmail邮箱,然后设置开启IMAP访问 打开设置,开启IMAP访问 获取应用专用密码 ...
- 关于Linux的core dump
core dump简介 core dump就是在进程crash时把包括内存在内的现场保留下来,以备故障分析. 但有时候,进程crash了却没有输出core,因为有一些因素会影响输出还是不输出cor ...
- 【python日期和时间处理】time模块基本使用
1. time模块中三种时间格式 时间戳 time模块获取各种精度的时间戳 import time timestamp = time.time() timestamp_s = int(time.tim ...
- Warning MVC1000
场景重现 视图文件中有些代码如下: @Html.Partial("_Footer") 会出现警告: // 警告 MVC1000 Use of IHtmlHelper.Partial ...
- Web前端入门第 23 问:CSS 选择器的优先级
任何地方都存在阶级,CSS 选择器也不例外,也会讲一个三六九等. 选择器类别 通配符选择器 标签选择器 类选择器 ID选择器 属性选择器 伪类选择器 伪元素选择器 关系选择器 流传已久的阶级划分 选择 ...
- Web前端入门第 24 问:CSS 单位
单位就是那个形容长度大小的东西.比如身高180cm(厘米),cm就是单位. css 也不例外,要描述一个盒子的大小,就必须要用到单位. css 单位根据其作用分为几大类:绝对单位.相对单位.视口单位. ...
- 字符串处理,push pop路径,组合命令,for
字符串处理字符串截取.命令嵌套命令格式:%变量名:~ m,n%,其中,m表示开始位置(默认开头),n表示从m位置开始向后截取的字符个数(默认到结尾),若n为负数则表示向前截取个数,作用:将命令中的某段 ...