当前位置: 首页 > news >正文

资讯网站模板商业计划书

资讯网站模板,商业计划书,线上转线下营销推广方式,镇江建筑公司排名最新NOI2003 逃学的小孩 题解 传送门。 题目简述 给定一棵树 T T T,需要选择三个点 A , B , C A,B,C A,B,C,需要从 C C C 走到 A , B A,B A,B​​ 的最远距离。 (第一段题目是在讲剧情吗。。) 前置知识 图树树的直径 思路简…

NOI2003 逃学的小孩 题解

传送门。

题目简述

给定一棵树 T T T,需要选择三个点 A , B , C A,B,C A,B,C,需要从 C C C 走到 A , B A,B A,B​​ 的最远距离。

(第一段题目是在讲剧情吗。。)

前置知识

  • 树的直径

思路简述

这题在蓝题(提高+ / 省选-)中还是比较水的 ^_^

来看看样例吧

瞪眼法(——数学老师) 看看,发现 A , B A,B A,B 可以设在 1 1 1 4 4 4,然后 C C C 2 2 2 3 3 3 都无所谓。

那么 4 4 4 是咋来的呢?

(设 C C C 2 2 2

2 → 1 → 4 2\rightarrow 1 \rightarrow4 214

由于是最远距离,那么——

树的直径!

而刚好,树的直径就是有两个端点,刚刚好可以一个作为 A A A,一个作为 B B B

然后 C C C 就是在除了 A , B A,B A,B 的节点,距离 A , B A,B A,B 的最短路径。

那么,直接枚举所有 C C C,取最大值再加上 A → B A\rightarrow B AB 的距离(直径距离)即可。

代码实现

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=2e5+5;
ll n,m,head[N],cnt_e,u,v,w,top,dis_start[N],dis_stop[N],start,stop,ans,ans2;
struct E{ll from,to,w,pre;
}e[N<<1];
inline void add(ll from,ll to,ll w)//链式前向星
{e[++cnt_e].from=from;e[cnt_e].to=to;e[cnt_e].w=w;e[cnt_e].pre=head[from];head[from]=cnt_e;return;
}
void dfs_d(ll u/*当前节点*/,ll fa/*他爹*/,ll sum/*目前的最长路径*/)//求树的直径
{if(sum>ans)ans=sum,top=u;for(ll i=head[u];i;i=e[i].pre){ll v=e[i].to;if(v==fa) continue;dfs_d(v,u,sum+e[i].w);}return;
}
void dfs_dis_start(int u,int fa)//所有点到某个端点的距离
{for(ll i=head[u];i;i=e[i].pre){ll v=e[i].to;if(v==fa) continue;dis_start[v]=dis_start[u]+e[i].w;dfs_dis_start(v,u);}return;
}
void dfs_dis_stop(int u,int fa)//所有点到另一个端点的距离
{for(ll i=head[u];i;i=e[i].pre){ll v=e[i].to;if(v==fa) continue;dis_stop[v]=dis_stop[u]+e[i].w;dfs_dis_stop(v,u);}return;
}
signed main(){scanf("%lld%lld",&n,&m);for(ll i=1;i<=m;i++){scanf("%lld%lld%lld",&u,&v,&w);add(u,v,w);add(v,u,w);}dfs_d(1,0,0);start=top;ans=0;dfs_d(start,0,0);stop=top;dfs_dis_start(start,0);dfs_dis_stop(stop,0);for(ll i=1;i<=n;i++)//枚举所有可能的Cans2=max(ans2,min(dis_start[i],dis_stop[i]));printf("%lld\n",ans+ans2);//ans:直径距离//ans2:某个点到两个端点的最短距离return 0;
}

小彩蛋

我:不对劲,有问题:

1 ≤ T i ≤ 1 0 9 1\le T_i \le 10^9 1Ti109

十亿分钟。。。先不说你能不能活到那时候,就算能考试貌似就已经结束了吧。。

http://www.wangmingla.cn/news/140530.html

相关文章:

  • 找美工做网站多少钱电脑办公软件培训班
  • 做美团网站代码上百度推广的网站要多少钱
  • 大城网站建设网络营销推广及优化方案
  • 建设网站海报文案我想做app推广代理
  • 网站推广是网站建设完成之后的长期工作淘宝店铺怎么引流推广
  • 中国建设银行徐州分行网站做一个电商平台大概需要多少钱
  • 提供秦皇岛网站建设哪家好seo优化交流
  • 做婚庆网站图片下载360优化大师旧版
  • 群晖可不可以做网站用阿里巴巴推广
  • 做企业网站域名网站排名优化外包公司
  • 带数据库网站设计谁有恶意点击软件
  • 麻涌仿做网站电子商务营销策划方案
  • 怎么做棋牌网站怎么做一个小程序
  • 安徽建设行业安全协会网站关键词seo排名
  • 做网站维护有没有前途青岛网站制作seo
  • 广州建网站多少钱查权重网站
  • 商业网站建设常识免费建一个自己的网站
  • 深圳seo网站推广方案网店推广平台
  • 合肥做网站mdyun网站排名查询
  • 网页开发与网站开发seo教程百度网盘
  • 网站建设哪家公司关键词提取工具
  • 已有网站做app需要多少钱怎么做宣传推广
  • 做网站的策划方案南京seo新浪
  • 互动的网站建设下载百度安装
  • 网站百度搜索情况和反链接优化建议宁波正规优化seo软件
  • 做360手机网站优化排做网站的步骤
  • i岗网站建设今日国内新闻头条15条
  • 衢州品牌网站设计茂名seo顾问服务
  • 简历模板做的最好的是哪个网站如何创建网址
  • 网站建设移动网络百度收录查询接口