CCF CSP 201503-4 网络延时
CCF CSP 201503-4 网络延时
问题描述
当信息在电脑、交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机。请问,电脑与电脑之间传递消息、或者电脑与交换机之间传递消息、或者交换机与交换机之间传递消息最多需要多少步。
输入格式
第二行包含n - 1个整数,分别表示第2、3、……、n台交换机所连接的比自己上一层的交换机的编号。第i台交换机所连接的上一层的交换机编号一定比自己的编号小。
第三行包含m个整数,分别表示第1、2、……、m台终端电脑所连接的交换机的编号。
输出格式
样例输入
1 1 3
2 1
样例输出
样例说明
其中电脑1与交换机4之间的消息传递花费的时间最长,为4个单位时间。
样例输入
1 2 2
3 4 4 4
样例输出
样例说明
其中电脑1与电脑4之间的消息传递花费的时间最长,为4个单位时间。
评测用例规模与约定
前50%的评测用例满足:n ≤ 20, m ≤ 20。
前70%的评测用例满足:n ≤ 100, m ≤ 100。
所有评测用例都满足:1 ≤ n ≤ 10000,1 ≤ m ≤ 10000。
解析
初一看题,觉得要建立一个图。但根据图的结构,其实图可以退化成一个树,其中树的子树个数不确定。
树的节点不用保存数据,可以用一个数组表示树的结构。
整个问题也可以很好地分解为子问题。即考虑根节点构成的树,表示消息传递最多需要的步数等于最大的两个子树的深度之和+2(需要通过根节点)与最大子树息传递最多需要的步数(不需要通过根节点)。
题目描述中的这句话“第i台交换机所连接的上一层的交换机编号一定比自己的编号小。”让遍历的顺序可以简单地从后往前遍历。
代码
C++
#include "iostream"
#include "algorithm" using namespace std; int parent[];
int depth[][]; // the maximum depth of two subtree + 1 int smallIdx(int x) {
if(depth[x][] < depth[x][]) return ;
else return ;
} int bigIdx(int x) {
if(depth[x][] < depth[x][]) return ;
else return ;
} int main() {
int m, n, maxDepth = ;
cin >> m >> n;
for(int i=; i<=m; i++) {
cin >> parent[i];
}
for(int i=m+; i<=m+n; i++) {
int p;
cin >> p;
depth[p][smallIdx(p)] = ;
}
for(int i=m; i>=; i--) {
depth[parent[i]][smallIdx(parent[i])] = max(depth[i][bigIdx(i)] + , depth[parent[i]][smallIdx(parent[i])]);
maxDepth = max(depth[i][]+depth[i][], maxDepth);
}
cout << maxDepth;
}
CCF CSP 201503-4 网络延时的更多相关文章
- CCF CSP 201709-4 通信网络
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...
- CCF CSP 201403-4 无线网络
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-4 无线网络 问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路 ...
- CCF真题之网络延时
201503-4 问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机.交换机与电脑之间使用网络连接.交换机按层级设置,编号为1的交换机为根交换机,层级为1.其他的交换机都连接 ...
- [ccf 4] 网络延时
网络延时 问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机.交换机与电脑之间使用网络连接.交换机按层级设置,编号为1的交换机为根交换机,层级为 1.他的交换机都连 ...
- CCF CSP 认证
参加第八次CCF CSP认证记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四 ...
- CCF CSP 201609-2 火车购票
题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...
- CCF CSP 201703-3 Markdown
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...
- CCF CSP 201703
CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...
- CCF CSP 201312-3 最大的矩形
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...
随机推荐
- 数据分析与展示---Pandas库数据特征分析
说明:0轴axis=0和1轴axis=1 简介 一:数据的排序 二:数据的基本统计分析 三:数据的累积统计分析 四:数据的相关分析 一:数据的排序 a b c d a b c d 二:数据的基本统计分 ...
- Ubuntu 14.04安装和3556sdk环境配置
1.配置为固定ip: vi /etc/network/interfaces 最后添加 iface eth0 inet staticaddress 192.168.1.100netmask 255.25 ...
- logstash过滤配置
input { redis { host => "127.0.0.1" port => 6380 data_type => "list" ke ...
- 记录第一次阿里云服务器部署java web工程的经历
起因:测试一个微信小程序,发现所有的请求要求为https的形式,开发工具忽略后手机无法测试,故尝试配置. 准备:阿里云服务器一台 域名一个(解析在服务器) tomcat7.0.54 j ...
- asp.net菜鸟到中级程序员的飞跃 --30本好书点评
如果你是一个菜鸟或者自认为初学者那么本文非常适合你:不能说这30本书就是最佳组合,但是可以说这个组合不差:本人曾博览群书,很多书重复,很多书讲的不适用,这些书都是目前书店可以买到的:达到中级程序员以后 ...
- js 替换部分内容为星号
function formatPhone(phone) { return phone.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2"); } 姓 ...
- 20155305乔磊2016-2017-2《Java程序设计》第八周学习总结
20155305乔磊2016-2017-2<Java程序设计>第八周学习总结 教材学习内容总结 通用API 日志API 1.java.util.logging包提供了日志功能相关类与接口, ...
- 20145209 2016-2017-2 《Java程序设计》第5周学习总结
20145209 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 异常处理 & Collection与Map 异常继承架构 错误的对象继承java.l ...
- www.sojson.com网站高级JS加密破解
在网上冲浪,看到了一个网站的JS加密,下面有一句话: 乍一看这句话吓一跳,我去这么猛,然后就很有兴趣想看看究竟是怎样一种加密算法. 对于破解JS加密算法的时候,都是先输入一个简单的语句然后分析加密后语 ...
- Oracle DataTable的数据批量写入数据库
insert语句,sqldataadapter.update(dataset,tablename);sqlbulkcopy.WriteToServer(datatable);三个方法的性能进行比较: ...