博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 2599: [IOI2011]Race 点分治
阅读量:6547 次
发布时间:2019-06-24

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

记录每一次分治时,达到重心的dep,加到一个桶中,没添加一个节点,查询桶中是否存在,之后加和和答案取最小值

#include 
#include
#include
#include
#include
#include
#include
using namespace std;#define N 300505#define ll long longstruct node{ int to,next,val;}e[N<<1];int siz[N],dep[N],ans=1<<30,v[N*5],rot,sum,vis[N],mx[N],head[N],cnt,K,n;ll dis[N];void add(int x,int y,int z){ e[cnt].to=y; e[cnt].next=head[x]; e[cnt].val=z; head[x]=cnt++; return ;}void get_root(int x,int from){ siz[x]=1;mx[x]=0; for(int i=head[x];i!=-1;i=e[i].next) { int to1=e[i].to; if(!vis[to1]&&to1!=from) { get_root(to1,x); siz[x]+=siz[to1]; mx[x]=max(siz[to1],mx[x]); } } mx[x]=max(mx[x],sum-siz[x]); if(mx[x]

  

转载于:https://www.cnblogs.com/Winniechen/p/8918730.html

你可能感兴趣的文章
[置顶] ※数据结构※→☆线性表结构(queue)☆============队列 顺序存储结构(queue sequence)(八)...
查看>>
Linux 系统的单用户模式、修复模式、跨控制台登录在系统修复中的运用
查看>>
JQuery UI Widget Factory官方Demo
查看>>
Atlas揭秘 —— 绑定(Binding)
查看>>
install xcode_3.2.5_and_iOS_sdk_4.2 _final with mac lion10.7.3
查看>>
JavaScript权威指南(第6版)
查看>>
sql 自定義百分比轉換小數函數
查看>>
一起谈.NET技术,C# 委托,事件和Lambda表达式
查看>>
远离云计算风险三步走
查看>>
Silverlight 游戏开发小技巧:技能冷却效果2(Cool“.NET研究”down)2
查看>>
An Introduction to Asynchronous Programming and Twisted (2)
查看>>
vue 组件编码规范
查看>>
IEC61850与MMS的服务映射
查看>>
Java 泛型: 什么是PECS(Producer Extends, Consumer Super)
查看>>
软件包管理-打包解包压缩解压
查看>>
maven构建scala项目
查看>>
Memcached分布式缓存-windows上初步使用-网摘
查看>>
IIS无法启动的问题
查看>>
如何通过结构中的某个变量获取结构本身的指针?(container_of详解)
查看>>
Android 关于mnt/sdcard和sdcard的区别
查看>>