[题目链接]

https://www.lydsy.com/JudgeOnline/problem.php?id=1912

[算法]

树的直径

[代码]

#include<bits/stdc++.h>
using namespace std;
#define MAXN 100010 int i,n,l1,l2,tot,u,v,k,now;
int head[MAXN],pre[MAXN],d[MAXN];
vector< int > path;
pair< int,pair<int,int> > tmp; struct edge
{
int to,w,nxt;
} e[MAXN << ]; inline void addedge(int u,int v,int w)
{
tot++;
e[tot] = (edge){v,w,head[u]};
head[u] = tot;
}
inline void dfs1(int u,int fa)
{
int i,v,w;
for (i = head[u]; i; i = e[i].nxt)
{
v = e[i].to;
w = e[i].w;
if (v == fa) continue;
dfs1(v,u);
if (d[u] + d[v] + w > l1)
{
l1 = d[u] + d[v] + w;
tmp = make_pair(i,make_pair(pre[u],pre[v]));
}
if (d[v] + w > d[u])
{
d[u] = d[v] + w;
pre[u] = i;
}
}
}
inline void dfs2(int u,int fa)
{
int i,v,w;
for (i = head[u]; i; i = e[i].nxt)
{
v = e[i].to;
w = e[i].w;
if (v == fa) continue;
dfs2(v,u);
if (d[u] + d[v] + w > l2) l2 = d[u] + d[v] + w;
d[u] = max(d[u],d[v] + w);
}
}
int main()
{ scanf("%d%d",&n,&k);
for (i = ; i < n; i++)
{
scanf("%d%d",&u,&v);
addedge(u,v,);
addedge(v,u,);
}
l1 = ;
memset(d,,sizeof(d));
dfs1(,);
now = tmp.second.first;
while (now != )
{
path.push_back(now);
now = pre[e[now].to];
}
path.push_back(tmp.first);
now = tmp.second.second;
while (now != )
{
path.push_back(now);
now = pre[e[now].to];
}
for (i = ; i < path.size(); i++)
{
e[path[i]].w *= -;
e[path[i] ^ ].w *= -;
}
l2 = ;
memset(d,,sizeof(d));
dfs2(,);
if (k == ) printf("%d\n", * (n - ) - l1 + );
else printf("%d\n", * n - l1 - l2); return ; }

[APIO 2010] 巡逻的更多相关文章

  1. [APIO 2010] [LOJ 3144] 奇怪装置 (数学)

    [APIO 2010] [LOJ 3144] 奇怪装置 (数学) 题面 略 分析 考虑t1,t2时刻坐标相同的条件 \[\begin{cases} t_1+\lfloor \frac{t_1}{B} ...

  2. 【BZOJ 1911】【APIO 2010】特别行动队

    http://www.lydsy.com/JudgeOnline/problem.php?id=1911 夏令营里斜率优化的例题,我调了一晚上,真是弱啊. 先推公式吧($sum_i$表示$x_1 \d ...

  3. [bzoj 1911][Apio 2010]特别行动队(斜率优化DP)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1911 分析: 首先可以的到裸的方程f[i]=max{f[j]+a*(Si-Sj)^2+b*(S ...

  4. [APIO 2010] 特别行动队

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1911 [算法] 设前i个士兵"修正"后的最大战斗力为fi 令su ...

  5. BZOJ 1911 (APIO 2010) 特别行动队

    题目描述 你有一支由n名预备役士兵组成的部队,士兵从1到n编号,要将他们拆分成若干特别行动队调入战场.出于默契考虑,同一支特别行动队中队员的编号应该连续,即为形如(i,i+1,-,i+k)的序列. 编 ...

  6. APIO 2010 特别行动队 斜率优化DP

    Description 你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号,要将他们拆分 成若干特别行动队调入战场.出于默契的考虑,同一支特别行动队中队员的编号 应该连续,即为形如 (i ...

  7. DP的优化总结

    一.预备知识 \(tD/eD\) 问题:状态 t 维,决策 e 维.时间复杂度\(O(n^{e+t})\). 四边形不等式: 称代价函数 w 满足凸四边形不等式,当:\(w(a,c)+w(b,d)\l ...

  8. [总结]一些 DP 优化方法

    目录 注意本文未完结 写在前面 矩阵快速幂优化 前缀和优化 two-pointer 优化 决策单调性对一类 1D/1D DP 的优化 \(w(i,j)\) 只含 \(i\) 和 \(j\) 的项--单 ...

  9. 如何使用本地账户"完整"安装 SharePoint Server 2010+解决“New-SPConfigurationDatabase : 无法连接到 SharePoint_Config 的 SQL Server 的数据 库 master。此数据库可能不存在,或当前用户没有连接权限。”

    注:目前看到的解决本地账户完整安装SharePoint Server 2010的解决方案如下,但是,有但是的哦: 当我们选择了"完整"模式安装SharePointServer201 ...

随机推荐

  1. MemcachedClient 使用说明

    上一篇介绍了Memcached基本使用方法<Memcached使用手册>,下面介绍java如何操作memcached.使用的是java_memcached-release_2.6.6. 一 ...

  2. Laravel5.1学习笔记4 控制器

    HTTP 控制器 简介 基础控制器 控制器中间件 RESTful 资源控制器 隐式控制器 依赖注入和控制器 路由缓存 简介 除了在单一的 routes.php 文件中定义所有的请求处理逻辑之外,你可能 ...

  3. Flutter GitLab 客户端

    F4Lab Flutter for GitLab. 欢迎参加一起完成

  4. 控件中出现的e.xxxx之类的

    在遇到窗体应用程序开发的时候,会在控件事件的后台写一些代码,特别是带e.xxx什么的 C#中的Graphics g = e.Graphics是什么意思? 解释是: Graphics 这个类,比较特殊, ...

  5. QT显示框架嵌入Vs控制台工程

      一.一些准备工作: 1.安装Qt for VS 的插件: 安装Qt for VS 的插件 下载地址:http://download.qt.io/official_releases/vsaddin/ ...

  6. ubuntu 14.04安装x11VNC

    环境:Ubuntu 14.04, 1)安装x11vnc: sudo apt-get install x11vnc 2)设置VNC的连接密码: x11vnc -storepasswd Enter VNC ...

  7. jquery-pjax

    项目介绍: Pjax是jQuery的一个插件,Pjax即pushState + Ajax,是实现无刷新Ajax加载并解决浏览器前进和后退问题的一个开源实现. 在2012年8月28日发布0.9版本. P ...

  8. Metadata

    元数据是关于数据的组织.数据域及其关系的信息,简言之,元数据就是关于数据的数据. Metadata is "data [information] that provides informat ...

  9. Docker 数据卷重复挂载测试

    没想到一年没写博客了,这中间都是记在自己的笔记本上,大部分网上都有,这个好像没有,所以发上来吧! 本文是测试Docker容器(相同目录/父子目录)同时挂载到宿主机(同目录/不同目录)时的情况,废话少说 ...

  10. Android 性能测试初探(三)

    书接上文 Android 性能测试初探(二) 本文接着往下聊,今天主聊 CPU 及 内存 看到这两个名词,做过PC性能测试的就比较熟悉了,同样的性能测试关注点 :) 首先说说内存,移动端关注的是内存消 ...