点数信息
www.dssz.net
注册会员
|
设为首页
|
加入收藏夹
您好,欢迎光临本网站!
[请登录]
!
[注册会员]
!
首页
移动开发
云计算
大数据
数据库
游戏开发
人工智能
网络技术
区块链
操作系统
模糊查询
热门搜索:
源码
Android
整站
插件
识别
p2p
游戏
算法
更多...
在线客服QQ:632832888
当前位置:
资源下载
搜索资源 - 齐心抗疫(找树的直径)
下载资源分类
移动开发
开发技术
课程资源
网络技术
操作系统
安全技术
数据库
行业
服务器应用
存储
信息化
考试认证
云计算
大数据
跨平台
音视频
游戏开发
人工智能
区块链
在结果中搜索
所属系统
Windows
Linux
FreeBSD
Unix
Dos
PalmOS
WinCE
SymbianOS
MacOS
Android
开发平台
Visual C
Visual.Net
Borland C
CBuilder
Dephi
gcc
VBA
LISP
IDL
VHDL
Matlab
MathCAD
Flash
Xcode
Android STU
LabVIEW
开发语言
C/C++
Pascal
ASM
Java
PHP
Basic/ASP
Perl
Python
VBScript
JavaScript
SQL
FoxBase
SHELL
E语言
OC/Swift
文件类型
源码
程序
CHM
PDF
PPT
WORD
Excel
Access
HTML
Text
资源分类
搜索资源列表
齐心抗疫(找树的直径)
题意: 给你一颗n个点的树,树上每个点有一个值,树上每条边长度为1,对于两点x,y之间的代价,x对y的代价可以表示为a[x]*(dis(x,y)),要求任选两点,获得一个最大的价值。 数据范围:n<=50000。 思路: 直接遍历每个点,找距离他最远的点,然后维护最大值 。这个方法只能骗部分分,因为时间复杂度为O(n^2)。 先讲结论: 我们假设这棵树中距离最大的两个点的距离为dismax,这两个点之间的距离称为树的直径,那么对于任何一个点,他在树上距离他最远的点必然是直径的两个端点之一。
所属分类:
其它
发布日期:2021-01-03
文件大小:33kb
提供者:
weixin_38747815
学军信友队趣味网络邀请赛 b题 齐心抗疫(树的直径)
题目描述 对于所有数据,满足2<=n<=50000,1<=a[i]<=1000。 题目思路 前言 本来我以为是最短路什么的。。。结果是我太菜,个人认为此题还是补充了自己知识,学到了不少 知识 树的直径表示最长的那段路径,显然可以任意点进行dfs求这一点到任意一点的最长距离,则那个点为直径的一个端点,然后在端点dfs找出最长距离,另一个点就是直径的另外一个端点。 正文 其实最后就三次dfs解决问题 代码 #include #include #include using
所属分类:
其它
发布日期:2021-01-03
文件大小:302kb
提供者:
weixin_38668243