Shorten Diameter


Time limit : 2sec / Stack limit : 256MB / Memory limit : 256MB

Score : 600 points

Problem Statement

Given an undirected tree, let the distance between vertices u and v be the number of edges on the simple path from u to v. The diameter of a tree is the maximum among the distances between any two vertices. We will call a tree good if and only if its diameter is at most K.

You are given an undirected tree with N vertices numbered 1 through N. For each i(1≦iN−1), there is an edge connecting vertices Ai and Bi.

You want to remove zero or more vertices from the tree, so that the resulting tree is good. When a vertex is removed, all incident edges will also be removed. The resulting graph must be connected.

Find the minimum number of vertices that you need to remove in order to produce a good tree.

Constraints

  • 2≦N≦2000
  • 1≦KN−1
  • 1≦AiN,1≦BiN
  • The graph defined by Ai and Bi is a tree.

Input

The input is given from Standard Input in the following format:

N K
A1 B1
A2 B2
:
AN−1 BN−1

Output

Print the minimum number of vertices that you need to remove in order to produce a good tree.


Sample Input 1

6 2
1 2
3 2
4 2
1 6
5 6

Sample Output 1

2

The tree is shown below. Removing vertices 5 and 6 will result in a good tree with the diameter of 2.


Sample Input 2

6 5
1 2
3 2
4 2
1 6
5 6

Sample Output 2

0

Since the given tree is already good, you do not need to remove any vertex.

分析:虽然没做出来,不过看了陈高远大牛的代码还是可以yy一下的。

可以先求出任意两点间的距离(dfs),然后考虑最优情况是左右子树平衡的时候(有2种情况),遍历至最优情况即可

aaarticlea/png;base64,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" alt="" />aaarticlea/png;base64,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" alt="" />

代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <list>
#include <ext/rope>
#define rep(i,m,n) for(i=m;i<=n;i++)
#define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)
#define vi vector<int>
#define pii pair<int,int>
#define mod 1000000007
#define inf 0x3f3f3f3f
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
const int maxn=2e3+;
const int dis[][]={{,},{-,},{,-},{,}};
using namespace std;
using namespace __gnu_cxx;
ll gcd(ll p,ll q){return q==?p:gcd(q,p%q);}
ll qpow(ll p,ll q){ll f=;while(q){if(q&)f=f*p;p=p*p;q>>=;}return f;}
int n,m,a[maxn][maxn],mi,cnt;
vi p[maxn];
pii q[maxn];
void dfs(int root,int pre,int now,int s)
{
a[root][now]=s;
for(int x:p[now])
{
if(x!=pre)dfs(root,now,x,s+);
}
}
int main()
{
int i,j,k,t;
mi=inf;
scanf("%d%d",&n,&k);
rep(i,,n-){
scanf("%d%d",&j,&t);
p[j].pb(t),p[t].pb(j);
q[i].fi=j,q[i].se=t;
}
rep(i,,n)dfs(i,-,i,);
rep(i,,n)
{
cnt=;
rep(j,,n)
if(*a[i][j]>k)cnt++;
mi=min(mi,cnt);
}
rep(i,,n-)
{
cnt=;
rep(j,,n)
if(*min(a[j][q[i].fi],a[j][q[i].se])+>k)
cnt++;
mi=min(mi,cnt);
}
printf("%d\n",mi);
//system ("pause");
return ;
}

Shorten Diameter的更多相关文章

  1. AtCoder Grand Contest 001 C Shorten Diameter 树的直径知识

    链接:http://agc001.contest.atcoder.jp/tasks/agc001_c 题解(官方): We use the following well-known fact abou ...

  2. ACC 001 C - Shorten Diameter 图论

    题目: Problem Statement Given an undirected tree, let the distance between vertices \(u\) and \(v\) be ...

  3. AGC001 C - Shorten Diameter【枚举】

    一开始没看到要保证最后是树--所以一定要从叶子开始删 枚举重心,如果k是偶数,那么按当前重心提起来deep大于k/2的全都要切掉,这样枚举重心然后取min即可 奇数的话就是枚举直径中间的边,然后从两边 ...

  4. AtCoderACGC001C Shorten Diameter

    Description: 给定一个\(n\)个点的树,要求删去最少的点使树的致直径不超过k Solution: 如果\(k\)为偶数,对于最终状态一定是以每一个点为根任何点的深度不能超过\(k/2\) ...

  5. RE:从零开始的AGC被虐(到)生活(不能自理)

    RE:从零开始的AGC被虐(到)生活(不能自理) 「一直注视着你,似近似远,总是触碰不到.」 --来自风平浪静的明天 AtCoder Grand Contest 001 B: Mysterious L ...

  6. AtCoder Grand Contest

    一句话题解 QwQ主要是因为这篇文章写的有点长……有时候要找某一个题可能不是很好找,所以写了这个东西. 具体的题意.题解和代码可以再往下翻._(:з」∠)_ AGC 001 C:枚举中点/中边. D: ...

  7. A*G#C001

    AGC001 A BBQ Easy 贪心. https://agc001.contest.atcoder.jp/submissions/7856034 B Mysterious Light 很nb这个 ...

  8. 【AtCoder】AGC001

    AGC001 A - BBQ Easy 从第\(2n - 1\)个隔一个加一下加到1即可 #include <bits/stdc++.h> #define fi first #define ...

  9. AGC001[BCDE] 题解

    A没意思 F太难 所以大概近期的AGC题解都是BCDE的 然后特殊情况再说 开始刷AGC的原因就是计数太差 没有脑子 好几个学长都推荐的AGC所以就开始刷了 = = 大概两天三篇的速度?[可能也就最开 ...

随机推荐

  1. loadunner使用socket协议来实现多客户端连接同一服务器脚本(使用到IP欺骗技术)

    第一部分: #include "lrs.h" vuser_init(){ lrs_startup(257); return 0;} 第二部分: Action(){ char *Re ...

  2. QTP连接MySQL

    1.首先安装mysql数据驱动,qtp在windows系统下操作连接mysql,所以下载mysql-connector-odbc-   5.1.8-win32.msi 下载地址:http://mysq ...

  3. VBS脚本合集(自制脚本)

    一.视频搜索器选择: Selectitem() '######################################### Function  Selectitem() 'Set Vedio ...

  4. 将GridView导入到Excel

    前几天做项目需要用到将GridView中的数据导入到Excel,原以为很简单,上网搜了一下资料,果然方法不少,于是就采用了一个: private void GridViewToExcel() { Re ...

  5. 使用Java7提供的Fork/Join框架

    http://blog.csdn.net/a352193394/article/details/39872923 使用Java7提供的Fork/Join框架 2014-10-07 23:55 4818 ...

  6. 16.按要求编写Java应用程序。 编写一个名为Test的主类,类中只有一个主方法; 在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1, 3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一 个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。

    //分类 package com.bao; public class Shuchu { int[]yi=new int[50]; String[][]er=new String[10][10]; vo ...

  7. lvs + keepalived + httpd 高可用集群(转)

    实验信息和拓扑:备注:Centos 6.5 selinux –disabled iptables off ServerName Ipaddress information LVSMaster 172. ...

  8. phonegap的照相机API

    1. Camera Api简单介绍 2. 拍照 3. 预览照片 一. Camera Api简单介绍 Camera选择使用摄像头拍照,或从设备相册中获取一张照片.图片以base64编码的 字符串或图片U ...

  9. C#后台绑定ComboBox

    C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syste ...

  10. java中怎么解决路径中文的问题

    在我遇到精灵线程的问题时,遇到一个中文路径的问题 原来是这样的 URL url=Test8.class.getClassLoader().getResource(""); Stri ...