博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树的直径 poj 2631
阅读量:5275 次
发布时间:2019-06-14

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

树的直径:从随意一点出发,BFS找到最远的距离,然后在从该点出发BFS找到最远的距离

#include 
#include
#include
#include
#include
#include
#include
#include
using namespace std;const int maxn = 10008;const int inf = 0x3ffffff;struct Node { int w, next,to; Node (int x = 0, int y = 0,int u = 0 ){ to = x;w = y;next = u; }}e[maxn*4];int d[maxn],head[maxn],tot;void add(int u,int v,int w){ e[tot] = Node(v,w,head[u]); head[u] = tot++; e[tot] = Node(u,w,head[v]); head[v] = tot++;}int BFS(int u) { memset(d,-1,sizeof(d)); d[u] = 0; int max_int = 0,id = u; queue
q; q.push(u); while(!q.empty()){ u = q.front();q.pop(); if(d[u] > max_int) { max_int = d[u]; id = u; } for(int i=head[u];i!=-1;i=e[i].next){ if(d[e[i].to] == -1){ d[e[i].to] = d[u] + e[i].w; q.push(e[i].to); } } } // cout << id <

转载于:https://www.cnblogs.com/mfrbuaa/p/5233722.html

你可能感兴趣的文章
echarts饼图显示百分比
查看>>
JMS消息
查看>>
Jenkins+ProGet+Windows Batch搭建全自动的内部包(NuGet)打包和推送及管理平台
查看>>
php上传文件及头像预览
查看>>
大四java实习生的一些经历
查看>>
线程池的概念
查看>>
Oracle_Statspack性能诊断工具
查看>>
Java 序列化
查看>>
Java 时间处理实例
查看>>
Java 多线程编程
查看>>
Java 数组实例
查看>>
mysql启动过程
查看>>
2017前端面试题总结
查看>>
Http GetPost网络请求
查看>>
SWIFT国际资金清算系统
查看>>
Sping注解:注解和含义
查看>>
站立会议第四天
查看>>
如何快速掌握一门技术
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
vagrant 同时设置多个同步目录
查看>>