[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)

相关推荐

  • 产品销售明细表,如何用电子表格做销售记录单

    技术产品销售明细表,如何用电子表格做销售记录单1、首先产品销售明细表,新建并打开一个Excel表格,如图所示,输入销售清单的标题和正文。并把标题“商品销售明细清单”字体设为宋体,字号20,所在单元格合并居中。正文的文字居

    生活 2021年10月20日
  • CSS+JS怎么实现爱心点赞按钮

    技术CSS+JS怎么实现爱心点赞按钮本篇内容主要讲解“CSS+JS怎么实现爱心点赞按钮”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS+JS怎么实现爱心点赞按钮”吧!To

    攻略 2021年11月20日
  • 能歌善舞近义词,“长袖善舞”指人能歌善舞吗

    技术能歌善舞近义词,“长袖善舞”指人能歌善舞吗“长袖善舞”语出《韩非子。五蠹》:“治强不可贵于外能歌善舞近义词,内政之有也。 今不行法术于内,而事智于外,则不至于治强矣。鄙谚曰:‘长袖善舞,多钱善贾。’此言多资之易为工也

    生活 2021年10月27日
  • 抖音刷赞推广平台便宜,全网最便宜的平台!

    技术抖音刷赞推广平台便宜,全网最便宜的平台!抖音快速涨粉方法抖音无疑是目前新媒体里面涨粉最容易,涨粉最快的平台了。前有成都小甜甜一夜涨粉500万,后有灵魂当铺一天涨粉75万。这种涨粉速度在其他平台是想都不敢想象的。不过,

    测评 2021年11月9日
  • docker深入

    技术docker深入 docker深入一、Docker Compose(容器单独是没有什么意义的,有意义的是容器编排)
    1)Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Com

    礼包 2021年12月24日
  • 关于ccoosCreator里的物理系统

    技术关于ccoosCreator里的物理系统 关于ccoosCreator里的物理系统按理说,可以说有两个碰撞系统的
    一个是设置collision碰撞组件进行碰撞
    另一个是 设置物理引擎 getPhys

    礼包 2021年11月9日