博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 3420: Poi2013 Triumphal arch
阅读量:6984 次
发布时间:2019-06-27

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

二分答案

第二个人不会走回头路

那么F[i]表示在i的子树内(不包括i)所需要的额外步数

F[1]==0表示mid可行

k可能为0

#include
#include
using namespace std;int cnt,n,mid,F[300005],last[300005];struct node{ int to,next;}e[600005];void add(int a,int b){ e[++cnt].to=b; e[cnt].next=last[a]; last[a]=cnt;}void dfs(int x,int fa){ F[x]=0; for (int i=last[x]; i; i=e[i].next){ int V=e[i].to; if (V==fa) continue; dfs(V,x); F[x]+=F[V]+1; } F[x]=max(F[x]-mid,0);}int main(){ scanf("%d",&n); for (int i=1; i
>1; dfs(1,0); if (!F[1]) r=mid; else l=mid+1; } printf("%d\n",l); return 0;}

  

转载于:https://www.cnblogs.com/silenty/p/9911037.html

你可能感兴趣的文章
Function类型
查看>>
Python学习
查看>>
ES6之let和const
查看>>
关于跨域
查看>>
一个半路出家的前端工程师的2018 | 掘金年度征文
查看>>
Fork/Join 框架介绍
查看>>
5.6 前端开发日报
查看>>
面试官:聊一下你对MySQL索引实现原理?
查看>>
[译]Go如何优雅的处理异常
查看>>
数据格式校验
查看>>
Django搭建个人博客:上传头像图片
查看>>
Docker与自动化测试及其测试实践
查看>>
Java-集合的简单介绍
查看>>
分布式架构发展
查看>>
针对不同的系统的宏定义
查看>>
十分钟熟练Dockerfile指令
查看>>
ES6新特征总结与介绍——声明与表达式
查看>>
python3实现抓取网页资源的 N 种方法(内附200GPython学习资料)
查看>>
不用软件,手动修复双系统引导进win7,xp的多种方法
查看>>
python 访问需要HTTP Basic Authentication认证的资源
查看>>