Code:

#include<bits/stdc++.h>
using namespace std;
#define setIO(s) freopen(s".in","r",stdin)
#define maxn 1000000
int n,S,edges,mid,cnt;
int hd[maxn],to[maxn<<1],nex[maxn<<1],dis[maxn];
void add(int u,int v)
{
nex[++edges]=hd[u],hd[u]=edges,to[edges]=v;
}
void dfs(int u,int ff)
{
if(cnt>S) return;
int now=0;
for(int i=hd[u];i;i=nex[i])
{
int v=to[i];
if(v==ff) continue;
dfs(v,u);
if(now+dis[v] > mid)
{
++cnt;
now=min(now, dis[v]);
}
else now=max(now, dis[v]);
}
dis[u]=now+1;
}
int check()
{
cnt=0;
dfs(1,0);
return cnt<=S;
}
int main()
{
// setIO("input");
int i,j;
scanf("%d%d",&n,&S);
for(i=1;i<n;++i)
{
int a,b;
scanf("%d%d",&a,&b);
add(a,b),add(b,a);
}
int l=1,r=n,ans=0;
while(l<=r)
{
mid=(l+r)>>1;
if(check()) ans=mid, r=mid-1;
else l=mid+1;
}
printf("%d\n",ans);
return 0;
}

  

最新文章

  1. 20160712001 SQL server R2 更名
  2. Sparse Filtering 学习笔记(一)网络结构与特征矩阵
  3. python函数的参数
  4. About the Storage allocation
  5. C#sqlbulkcopy的优化
  6. hdu 1095 A+B for Input-Output Practice (VII)
  7. ELK初学搭建(logstash)
  8. int? 参数是这个的时候 是可以传入null的 而int的就不行
  9. mac系统连接android电话
  10. Java web项目综合练习(Estore)
  11. mysql查询order by 指定字段排序
  12. Assignments---(贪心)
  13. Background removal with deep learning
  14. CSS知识点(三)
  15. ajax参数传递之[HttpGet]/[HttpPost]/[HttpPut]/[HttpDelete]请求
  16. (转)C#串口SerialPort常用属性方法
  17. eclipse maven jdk全局设置
  18. CentOS 7 安装Docker CE
  19. HDU 5229 ZCC loves strings 博弈
  20. DNS域名解析协议

热门文章

  1. 本机添加DNS映射
  2. 一个JSON解析器
  3. Hello World!----html
  4. 5G的科普
  5. express中app.use()使用方法
  6. 替换url不刷新页面
  7. idea使用Vue的v-bind,v-on报错
  8. 【ES6】对象的新功能与解构赋值
  9. 用Java构建一个简单的WebSocket聊天室
  10. SCUT - 486 - 无向图上的点 - Dijkstra