博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HLG 1460 Highway Construction【树的直径】
阅读量:6402 次
发布时间:2019-06-23

本文共 2486 字,大约阅读时间需要 8 分钟。

题意: 已知一个树形的地图,要在其间建设一条公路,每个公路上的点只经过一次,问如何建工路使得所有点到公路的最长距离最短。

分析: 看成是找树上所有点中距离最远的路径,主要是两次广搜,第一次找到一个端点,第二次找到另一个,第二次找的过程中记录路径,

         便于最后一次遍历全图找到答案。

#include 
#include
#define maxn 100005#define clr(x)memset(x,0,sizeof(x))struct node{ int to, next, w;}q[1000000];int tot;int head[maxn];void add(int s, int u, int wi){ q[tot].to = u; q[tot].next = head[s]; q[tot].w = wi; head[s] = tot++;}struct P{ int xu, di;}que[maxn],xx,tt;bool v[maxn];int pre[maxn];int main(){ int n, i, e, st; int front, rear, son; int a, b, wi; int tmp, res; while (scanf("%d",&n),n) { tot = 1; clr(head); for (i=0; i
tmp) { tmp = tt.di; st = tt.xu; } } } } front = rear = 0; tt.xu = st; tt.di = 0; que[rear++] = tt; clr(pre); pre[tt.xu] = -1; tmp = 0; while (front < rear) { xx = que[front++]; for (i=head[xx.xu]; i; i=q[i].next) { tt.xu = q[i].to; if (!pre[tt.xu]) { tt.di = xx.di+q[i].w; pre[tt.xu] = xx.xu; que[rear++] = tt; if (tt.di > tmp) { tmp = tt.di; st = tt.xu; } } } } clr(v); e = st; v[st] = true; while (pre[st] != -1) { v[pre[st]] = true; st = pre[st]; } res = 0; front = rear = 0; while (pre[e] != -1) { e = pre[e]; tt.xu = e; tt.di = 0; front = rear = 0; que[rear++] = tt; while (front < rear) { xx = que[front++]; for (i=head[xx.xu]; i; i=q[i].next) { tt.xu = q[i].to; if (!v[tt.xu]) { tt.di = q[i].w+xx.di; v[tt.xu] = true; que[rear++] = tt; if (tt.di > res) res = tt.di; } } } } printf("%d\n",res); } return 0;}

 

转载于:https://www.cnblogs.com/dream-wind/archive/2012/11/02/2752052.html

你可能感兴趣的文章
某个第三方支付平台数据库的分析、学习与总结(转)
查看>>
Linux Linux程序练习八
查看>>
读书笔记:《写给大家看的设计书》
查看>>
Predicate与filter
查看>>
UITableViewCell 取消分隔线
查看>>
性能测试工具 nGrinder 项目剖析及二次开发
查看>>
Mybatis集成pagehelper and jsqlparser(分页)
查看>>
50+ 顶级开源 Kubernetes 工具列表
查看>>
老年夫妇为何分床睡?83岁的奶奶是这样说的……
查看>>
恶意软件日均进攻百万次!三大方法保护Hadoop集群免遭攻击!
查看>>
小米品牌年度盛典今日开启 多款明星产品引爆抢购热潮
查看>>
猎豹智库Q3最新数据:ofo用户活跃渗透率连续领先摩拜 稳居第一
查看>>
手把手教你HDFS基础配置安装及命令使用!
查看>>
机器人索菲亚打算生儿育女,连孩子名字都想好了!
查看>>
中国最西北高寒铁路线铺就春运“平安路”
查看>>
春运将至 民航提前迎来客流高峰
查看>>
安徽:0.1元优粮优购的正效应
查看>>
Google发布机器学习开源可视化工具Facets
查看>>
仙气满满的霍尊竟然这么皮?自爆体重已经突破……
查看>>
十道简单算法题
查看>>