hdu-----(4514)湫湫系列故事——设计风景线(树形DP+并查集)
湫湫系列故事——设计风景线
Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 3105    Accepted Submission(s): 562
现在已经勘探确定了n个位置可以用来建设,在它们之间也勘探确定了m条可以设计的路线以及他们的长度。请问是否能够建成环形的风景线?如果不能,风景线最长能够达到多少?
其中,可以兴建的路线均是双向的,他们之间的长度均大于0。
接下去m行,每行3个数字u v w,分别代表这条线路的起点,终点和长度。
  [Technical Specification]
  1. n<=100000  
  2. m <= 1000000
  3. 1<= u, v <= n 
  4. w <= 1000
1 2 1
2 3 1
3 1 1
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<vector>
#include<algorithm>
//#pragma comment(linker, "/STACK:36777216,36777216")
using namespace std;
const int maxn=;
int father[maxn];
bool vis[maxn];
int indeg[maxn];
int ans,n,m;
struct no
{
int next;
int sum;
}; vector<no>tree[maxn]; void init(int n){
ans=-;
tree[].clear();
for(int i=;i<=n;i++){
father[i]=i;
tree[i].clear();
}
memset(vis,,sizeof(vis));
memset(indeg,,sizeof(int)*(n+));
} int find(int a)
{
while(a!=father[a])
a=father[a];
return a;
}
void dfs(int pos,int res)
{
ans=max(ans,res);
int len=tree[pos].size();
for(int i=;i<len;i++)
{
if(vis[tree[pos][i].next]==)
{
vis[tree[pos][i].next]=;
dfs(tree[pos][i].next,res+tree[pos][i].sum);
vis[tree[pos][i].next]=;
}
}
} int main()
{
int i,x,y,aa,bb,cc;
bool flag;
while(scanf("%d%d",&n,&m)!=EOF)
{
init(n);
flag=;
for(i=;i<=m;i++){
scanf("%d%d%d",&aa,&bb,&cc);
indeg[aa]++;
indeg[bb]++;
tree[aa].push_back((no){bb,cc}); //无向图
tree[bb].push_back((no){aa,cc});
if(!flag){
x=find(aa);
y=find(bb);
if(x==y) flag=;
else father[y]=x;
}
}
if(flag)printf("YES\n");
else{
//寻找端点
for(int i=;i<=n;i++) {
if(indeg[i]==)
tree[].push_back((no){i,}); //将多源汇集到一点
}
vis[]=;
dfs(,);
printf("%d\n",ans);
}
}
return ;
}
hdu-----(4514)湫湫系列故事——设计风景线(树形DP+并查集)的更多相关文章
- HDU 4514 湫湫系列故事――设计风景线 (树形DP)
		题意:略. 析:首先先判环,如果有环直接输出,用并查集就好,如果没有环,那么就是一棵树,然后最长的就是树的直径,这个题注意少开内存,容易超内存, 还有用C++交用的少一些,我用G++交的卡在32764 ... 
- HDU 4514 湫湫系列故事——设计风景线 树的直径
		题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4514 湫湫系列故事--设计风景线 Time Limit: 5000/2000 MS (Java/Ot ... 
- HDU 4514 湫湫系列故事——设计风景线(并查集+树形DP)
		湫湫系列故事——设计风景线 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) To ... 
- Hdu 4514 湫湫系列故事——设计风景线
		湫湫系列故事--设计风景线 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ... 
- HDU 4514 - 湫湫系列故事——设计风景线 - [并查集判无向图环][树形DP求树的直径]
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4514 Time Limit: 6000/3000 MS (Java/Others) Memory Li ... 
- hdu 4514 湫湫系列故事――设计风景线(求树的直径)
		随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探确定了n个位置 ... 
- HDU - 4514 湫湫系列故事——设计风景线(并查集判环)
		题目: 随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探确定了n ... 
- 刷题总结——湫湫系列故事——设计风景线(hdu4514 并差集判环+树的直径)
		题目: 随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探 ... 
- hdu ---(4517)小小明系列故事——游戏的烦恼(Dp)
		小小明系列故事——游戏的烦恼 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)To ... 
随机推荐
- CentOS 7 (无盘安装)PXE服务器的搭建(失败求助版)
			折腾了一天半,PXE无盘服务器以暂时失败而告终. 基本原理 1. 首先客户端主机需要支持PXE,大部分主板都支持. 2. PXE服务器需要安装DHCP.TFTP.FTP服务. 3. DHCP服务用来给 ... 
- Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle Forms
			Whenever we commit after entering data in Oracle Forms, many triggers fires during this event and al ... 
- 基于Microchip单片机的触摸感应技术
			Microchip提供两种电容式触摸感应解决方案,一种为张驰振荡器方式,即通过检测触摸感应电容充放电的频率变化,来检测是否有键按下,根据单片机集成的硬件资源不同,另一种通过Microchip单片机集成 ... 
- [SAP ABAP开发技术总结]文本文件、Excel文件上传下传
			声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ... 
- [Effective Java]第九章 异常
			声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ... 
- CUBRID学习笔记 6 修改用户密码
			修改密码 可以在web管理中修改. 还有另外两种体位 1 语句 ALTER USER user_name PASSWORD 'any_password_here_in_single_quotes'; ... 
- IO设计模式:Reactor和Proactor对比
			IO设计模式:Reactor和Proactor对比 平时接触的开源产品如Redis.ACE,事件模型都使用的Reactor模式:而同样做事件处理的Proactor,由于操作系统的原因,相关的开源产品也 ... 
- 【CC评网】2013.第38周 要阅读 要有好工具
			要阅读,要有好工具 Reeder终于在ipad上推出了第二代版本,终于脱离了Google reader而独立存在: 自从Google reader关闭之后,我就在各种支持rss的阅读器中游荡,却总是找 ... 
- Sqlite 学习记录
			Sqlite命令行(CLP)====================================================================================== ... 
- lazyload懒加载的使用
			1.引用<script src="http://a.tbcdn.cn/apps/baron/js/??lib/tmm/tmm.js,lib/lazyload/lazyload.js?2 ... 
