博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Luogu U18740
阅读量:4537 次
发布时间:2019-06-08

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

 古墓丽影

题意概括:以某个点为根时,其他每个点到它的距离*它的点权的和的最小值。

这题是带权重心的裸题。

DFS即可。

#include
#include
#include
#define ll long long#define maxn 200010using namespace std;struct Edge{ ll int to,next,d;}e[maxn*2];ll int w[maxn],head[maxn],tot,size[maxn],Maxsize[maxn],ans=0,n,root;ll int read(){ ll int w=0;char c=getchar(); while(c<'0'||c>'9') c=getchar(); while(c>='0'&&c<='9') w=w*10+c-48,c=getchar(); return w;}void add(ll int x,ll int y,ll int dis){ e[++tot]=(Edge){y,head[x],dis}; head[x]=tot;}inline void getroot(ll int x,ll int fa){ size[x]=1;Maxsize[x]=0; for(ll int i=head[x];i;i=e[i].next){ if(e[i].to!=fa){ getroot(e[i].to,x);size[x]+=size[e[i].to];Maxsize[x]=max(Maxsize[x],size[e[i].to]); } } Maxsize[x]=max(Maxsize[x],n-size[x]); if(Maxsize[x]
古墓丽影

 

转载于:https://www.cnblogs.com/Fish-/p/8379408.html

你可能感兴趣的文章
Vue 基础篇
查看>>
malloc_free_new_delete
查看>>
Python中的open和codecs.open
查看>>
开发Servlet的方法(2)
查看>>
asp.net mvc 伪静态添加
查看>>
EA类图与代码同步
查看>>
Android Studio 智能感知无效
查看>>
javascript 日常
查看>>
让插件帮你优化代码
查看>>
ng 动态的生成option。
查看>>
ORACLE-12C-RAC INSTALL
查看>>
自定义引用类型的Enumerable.Union调用(原创)
查看>>
抽象类实例
查看>>
react context prop-types
查看>>
Java之路——Java初接触
查看>>
2018.12.27学习JavaScript
查看>>
Cocoa编程开发者手册
查看>>
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
查看>>
理工之 A+B Problem III
查看>>
SalesForce自定义按钮(javascript执行),点击按钮更新Filed
查看>>