[bzoj1912][Apio2010]patrol 巡逻

技术[bzoj1912][Apio2010]patrol 巡逻 [bzoj1912][Apio2010]patrol 巡逻无DescriptionInput
第一行包含两个整数 n, K(1 ≤ K ≤

[bzoj 1912][Apio 2010]巡逻巡逻

Description

Input

第一行包含两个整数n,K(1 K 2)。

接下来n1行,每行两个整数a,b,表示村庄a与b之间有一条道路(1 a,b n)。

Output

输出一个整数,表示新建了K条道路后能达到的最小巡逻距离。

Sample Input

8 1

1 2

3 1

3 4

5 3

7 5

8 5

5 6

Sample Output

11

HINT

3 n 100,000,1 K 2。

Solution

不建道路时方案数为2(n-1)。

建一条道路时,把树直径两段连上,答案为2(n-1)-r 1。

此基础上再建一条道路:把树直径删去,在现在的图上再求一条直径。

那么,\(k\leq10^5\)要怎么做呢

#定义N 100005

结构图{

int nxt,to,w;

[N1];

int g[N],f1[N],f2[N],N,m,mx,id,ans,CNT=1;

布尔维斯[N];

内联void addedge(int x,int y){ 0

碳纳米管.NXT=g[x];g[x]=CNT;碳纳米管.to=y;碳纳米管.w=1;

}

内联void add(int x,int y){ 0

addedge(x,y);addedge(y,x);

}

内联int dfs(int u,int fa){ 0

int s1=0,S2=0;

对于(int i=g[u],tmp我;i=e[i]。nxt)

如果(e[i].敬!=fa){ 0

tmp=e[i].w dfs(e[i]).to,u);

if(tmp S1){ 0

S2=S1 S1 S1=TMpf2[u]=f1[u];f1[u]=I;

}

否则if(tmp S2){ 0

S2=tmp F2[u]=I;

}

}

if(s1 s2mx) mx=s1 s2,id=u;

返回S1;

}

内嵌void Aireen(){ 0

n=read();m=read();

for(int I=1;在;(一)

添加(read())(read());

ans=(n-1)1;

while(m-){ 0

memset(f1,0,sizeof(f1));

memset(f2,0,sizeof(F2));

MX=id=0;dfs(1,0);ans=1-MX;

for(int I=f1[id];我;i=f1 .至e[i].w=e[i^1].w=-1;

for(int I=F2[id];我;i=f1 .至e[i].w=e[i^1].w=-1;

}

printf('%d\n ',ans);

}

2017-05-03 22:23:28

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116860.html

(0)

相关推荐

  • Oracle 12c R2版本 Application Containers的特性是什么

    技术Oracle 12c R2版本 Application Containers的特性是什么本篇文章给大家分享的是有关Oracle 12c R2版本 Application Containers的特性是什么,小编觉得挺实

    攻略 2021年11月12日
  • php如何实现群发

    技术php如何实现群发小编给大家分享一下php如何实现群发,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! php实

    攻略 2021年12月9日
  • 宝妈兼职,哪些兼职和副业适合宝妈

    技术宝妈兼职,哪些兼职和副业适合宝妈网上能做兼职很多,但是赚钱的不多,大部分都是套路,一不小心可能就被坑宝妈兼职。我本人亲自体会过,但凡稍微能赚个几十块以上的APP,全部都是需要推广的,你不推广靠自己单打独斗,赚的也就够

    生活 2021年10月30日
  • nginx.pid打开失败怎么办

    技术nginx.pid打开失败怎么办本篇内容介绍了“nginx.pid打开失败怎么办”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年12月11日
  • 女生标准体重表,中国人男女的体重标准是多少

    技术女生标准体重表,中国人男女的体重标准是多少其实现在全世界都使用体重指数(BMI)来衡量一个人胖或不胖。具体的计算的方法是女生标准体重表:
    BMI=体重(公斤)/身高(米)的平方
    例如:某MM的身高1.7米,体重为65

    生活 2021年10月28日
  • mysql数据库优化的步骤是怎样的

    技术mysql数据库优化的步骤是怎样的这期内容当中小编将会给大家带来有关mysql数据库优化的步骤是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql数据库优化的步骤1:磁

    攻略 2021年11月16日