博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ1131: [POI2008]Sta
阅读量:5301 次
发布时间:2019-06-14

本文共 1208 字,大约阅读时间需要 4 分钟。

Description

给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大

Input

给出一个数字N,代表有N个点.N<=1000000 下面N-1条边.

Output

输出你所找到的点,如果具有多个解,请输出编号最小的那个.

Sample Input

8
1 4
5 6
4 5
6 7
6 8
2 4
3 4

Sample Output

7
这都什么沙雕玩意儿。。
yy一下可以发现,当你计算出父亲节点的答案时,是可以O(1)继承给儿子的。。
那就乱搞
//MT_LI#include
#include
#include
#include
#include
using namespace std;struct node{ int x,y,next;}a[2100000];int len,last[1100000];void ins(int x,int y){ len++; a[len].x=x;a[len].y=y; a[len].next=last[x];last[x]=len;}int n;int dep[1100000],tot[1100000];typedef long long ll;ll f[1100000];void dfs(int x,int fa){ tot[x]=1; for(int k=last[x];k;k=a[k].next) { int y=a[k].y; if(y!=fa) { dep[y]=dep[x]+1;f[1]+=dep[y]; dfs(y,x); tot[x]+=tot[y]; } }}void dp(int x,int fa){ for(int k=last[x];k;k=a[k].next) { int y=a[k].y; if(y!=fa) { f[y]=f[x]+n-2*tot[y]; dp(y,x); } }}int main(){ scanf("%d",&n); len=0;memset(last,0,sizeof(last)); for(int i=1;i

 

转载于:https://www.cnblogs.com/MT-LI/p/9877565.html

你可能感兴趣的文章
T4模板技术相关 from artech
查看>>
jqGrid学习笔记
查看>>
虚数的概念与理解
查看>>
电梯调度(二)
查看>>
springMVC 访问404
查看>>
去除html的&nbsp;标签
查看>>
【XSY1537】五颜六色的幻想乡 数学 生成树计数 拉格朗日插值
查看>>
【THUSC2017】【LOJ2977】巧克力 斯坦纳树
查看>>
数据类型
查看>>
ajax请求无法下载文件
查看>>
你真的很熟分布式和事务吗?
查看>>
接口测试 总结(什么是接口测试)
查看>>
cliendataset中自增长字段的处理
查看>>
.NET 4.6的RyuJIT尾递归优化的Bug
查看>>
软件开发模型
查看>>
centos安装VSFTP
查看>>
面向对象设计模式系列文章之---NO.1
查看>>
生成缩率图项目实例
查看>>
Sql server 大全
查看>>
Java Enum 浅析
查看>>