题目来源:https://www.nowcoder.com/question/next

题意

中文题意不再解释,,,,

思路

这道题有一个“题眼”,parent[i]的取值范围。
这个题眼可以省去深搜而直接用递推式的方式去计算树的最大深度(最大深度)。
其次,就是利用贪心。
分情况:
1.如果是L<=maxLen,那么就直接输出L;
2.如果是L>maxLen:
考虑最坏情况,除了最大深度所在的树链(以下用主链表示)之外,其他都在root上,那么肯定是考虑先游历除了主链之外的链(因为,主链是最长的,遍历主链并返回到root,是最浪费步数的),并留给主链maxLen的步数,遍历其他链需要其他链的二倍的步数(因为要返回到root)。
以上是贪心的思想。
由于可能L巨大,所以如果遍历的点的个数大于n,取n。
得:min(n,1+maxLen+(L-maxLen)/2)。

代码

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long LL;int parent[60];
int dp[200];
int main()
{int n,L;scanf("%d%d",&n,&L);for(int i  = 0; i<n-1; i++){scanf("%d",&parent[i]);}int mx = 0;for(int i = 0; i<n-1; i++){dp[i+1] = dp[parent[i]]+1;mx = max(mx,dp[i+1]);}int d = min(L, mx);printf("%d\n",min(n,1+d+(L-d)/2));
}

网易真题-游历魔法王国相关推荐

  1. 网易编程题 游历魔法王国 (Python)

    游历魔法王国(python) 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多 ...

  2. 2018年网易秋招笔试真题——游历魔法王国

    链接:https://www.nowcoder.com/questionTerminal/923b9dacf8544e4e83d5e22f5a0e731a 来源:牛客网 魔法王国一共有n个城市,编号为 ...

  3. 魔法王国java_网易编程题-游历魔法王国(深度优先遍历)

    魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次. 如果小易到达过某 ...

  4. ## (网易2018校招笔试)[编程题] 游历魔法王国

    题目 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次. 如果小易到 ...

  5. 网易笔试题 游历魔法王国

    /* *看完题目有点懵,不懂可以看下面两篇文章,解答的很详细 */ #include <bits/stdc++.h> using namespace std;int main() {int ...

  6. 网易2018校园招聘:游历魔法王国 [python]

    ''' [编程题] 游历魔法王国 时间限制:1秒 空间限制:32768K 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当 ...

  7. 网易2018校招——04.游历魔法王国

    游历魔法王国 **  魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树.   小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行 ...

  8. 游历魔法王国(牛客网 网易2018校招题 图论)

    链接:https://www.nowcoder.com/questionTerminal/f58859adc39f4edc9cd8e40ba4160339 来源:牛客网 魔法王国一共有n个城市,编号为 ...

  9. 网易2018编程题之游历魔法王国

    题目描述: 魔法王国一共有n个城市,编号为0~n-1号,n个城市之间的道路连接起来恰好构成一棵树. 小易现在在0号城市,每次行动小易会从当前所在的城市走到与其相邻的一个城市,小易最多能行动L次. 如果 ...

最新文章

  1. bzoj1834: [ZJOI2010]network 网络扩容
  2. Office365邮箱Imap迁移步骤
  3. 菜鸟学Linux 第007篇笔记 简单命令的使用讲解(文本、时间、目录)
  4. C++为什么摒弃auto_ptr
  5. 工具:分享IntelliJ IDEA 5条调试技巧,太实用了!
  6. java https请求_Spring Cloud Sleuth:分布式请求链路跟踪
  7. 代码实现:判断101-200之间有多少个素数(质数),并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。...
  8. 客户端如何获取服务器控件的值(原理与实例)
  9. 计算机网络管理的应用,计算机网络管理技术及应用
  10. 小凡的Python之路——启航
  11. ddk开发 c语言,ddk_helloWDM_原代码是网上高手的杰作
  12. microhard p900数传配置方法
  13. SpringBoot整合IoTDB
  14. 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day4)
  15. php运维知识,分享一些linux运维的基础知识
  16. 标准正态分布函数表的程序实现
  17. Oracle参数为英文或数字,ORACLE中将数字转换为英文
  18. 搜狗输入法语音转文字体验报告
  19. Java TreeMap的使用
  20. 网页静态化之Freemarker

热门文章

  1. mysql的msi是什么_mysql安装(msi方式)
  2. 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事11月19日
  3. 四、buildroot中添加自己的软件包
  4. 那年那月那些事-2014.2
  5. 【WLAN】【基础知识】WIFI那些事儿之信道和频谱(涵盖2.4G、5G、6G,全网最全)
  6. Modbus网关在锂电池干燥箱的应用
  7. 京东家电今年将开上万家专卖店,线下PK苏宁国美
  8. CCK-8,让细胞活性检测 So Easy! - MedChemExpress
  9. 浮点数表示及运算规则
  10. 新能源电池电芯、模组和PACK工艺段移动机器人(AGV/AMR)应用选型