小何子啊 2019-09-07 18:59 采纳率: 0%
浏览 212

求大神用c++或c语言解答,本人速求,谢谢!

题目描述
欲穷千里目,更上一层楼。
阿克先生喜欢旅游。某一天,他来到魔法森林旅游。
经过观察,他发现魔法森林一共有​n个城市,每个城市有一座高高的魔法塔,第i​个城市的魔法塔的高度为hi​。这些城市一共由​n-1条道路连接,任意两座城市互相可达。
阿克先生想要站在某一座塔上观察尽可能多城市的风景。不幸的是,阿克先生没有透视眼,较高的塔将会遮蔽较低的塔。同时,魔法森林其他地方也被茂林覆盖,他的视线无法穿过茂林(但因为是魔法塔,塔上储存了镜面魔法,可以使阿克先生的视线在城市水平任意角度转弯)。
所以,他只能沿着n-1​条道路观察其他的点。
但是,魔法森林的道路蜿蜒曲折,他观看的城市到他所在的点的路径要么互相包含要么两两不交。且从他所在的点开始,到任意它观察的城市,所成的高度序列单调不增。
阿克先生想要知道他最多能观察到多少个城市(包括自身),他快速地秒了这道题,但他懒得写代码了,所以请你帮他算一算。

输入
第一行一个整数​n;
第二行​个整数​h1,h2…hn;
第三到第​n+1行两个整数u,v,表示有一个连接​u,v的道路。

输出
一个整数​ans,表示最多能看到多少个城市。

样例输入
11
10 4 5 11 8 9 3 2 1 7 6
1 2
1 3
1 4
2 10
2 11
3 7
3 8
4 5
4 6
7 9

样例输出
7

数据范围限制
对于​30%的数据 保证​ n<=5000
对于另外20​%的数据 保证 v=u+1
对于另外20%的数据 保证 hi互不相同
对于​100%的数据 保证​ n<=500000

提示
选择4号城市,可以看到1,3,4,5,6,7,9共7个城市

  • 写回答

1条回答 默认 最新

  • wowpH 2019-09-07 19:28
    关注

    兄弟,发帖子的时间用来好好想想吧。全部都是速求,速求。干脆找个人帮你写算了。不过别忘了给工资。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog