【BZOJ】2657: [Zjoi2012]旅游(journey)
来源:互联网 发布:红鸟棋牌游戏源码 编辑:程序博客网 时间:2024/05/16 06:05
传送门 http://www.lydsy.com/JudgeOnline/problem.php?id=2657
Solution
读懂题意,然后想一下三角剖分,就知道这题是求树的直径
(不要问我为什么码风突变,又臭又长跑得还慢)
【心情很不好】
#include<stdio.h>#include<map>#define N 200005 using namespace std;int n,ans,dep[N],s[N],tot;struct pr{ int a,b; void st() { if (b<a) swap(a,b); } friend bool operator < (pr a,pr b) { return a.a==b.a?a.b<b.b:a.a<b.a; }};map<pr,int> M;struct edge{ int v,n;}e[N<<1];void push(int &a,int b){ if (!a) { a=b; return; } e[++tot]=(edge){b,s[a]},s[a]=tot; e[++tot]=(edge){a,s[b]},s[b]=tot;}void solve(int k,int f){ int mx=0,pm=0; for (int i=s[k];i;i=e[i].n) if (e[i].v!=f) { solve(e[i].v,k); if (dep[e[i].v]>mx) pm=mx,mx=dep[e[i].v]; else if (dep[e[i].v]>pm) pm=dep[e[i].v]; } ans=max(ans,mx+pm+1); dep[k]=mx+1;}int main(){ scanf("%d",&n); for (int i=1,a,b,c;i<n-1;i++) { pr t; scanf("%d%d%d",&a,&b,&c); t=(pr){a,b}; t.st(); push(M[t],i); t=(pr){b,c}; t.st(); push(M[t],i); t=(pr){c,a}; t.st(); push(M[t],i); } solve(1,0); printf("%d\n",ans); return 0;}
0 0
- 【BZOJ 2657】 [Zjoi2012]旅游(journey)
- [bzoj 2657] [Zjoi2012]旅游(journey)
- BZOJ 2657: [Zjoi2012]旅游(journey)
- BZOJ 2657 [Zjoi2012]旅游(journey)
- 【BZOJ】2657: [Zjoi2012]旅游(journey)
- BZOJ 2657 [Zjoi2012] 旅游(journey)
- BZOJ 2657 ZJOI2012 旅游(journey) 树形DP
- bzoj 2657 [Zjoi2012]旅游(journey…
- bzoj 2657 [Zjoi2012]旅游(journey…
- [BZOJ 2657][Zjoi2012]旅游(journey):树的直径
- BZOJ2657: [Zjoi2012]旅游(journey)
- 【ZJOI2012】【BZOJ2657】旅游(journey)
- BZOJ2657: [Zjoi2012]旅游(journey)
- BZOJ2657: [Zjoi2012]旅游(journey)
- bzoj 2657: [Zjoi2012]旅游(journey) (map建图+树的直径)
- [BZOJ2657][Zjoi2012]旅游(journey) 树的直径
- [BZOJ2657][Zjoi2012]旅游(journey)(dfs||树形dp)
- BZOJ 2657 ZJOI 2012 旅游(journey) 树的直径
- 对于大流量网站的解决方案
- Python产生随机数
- VMware下CentOS7网络重启出错解决方案
- Problem C. Evaluation Google APAC 2017 University Test Round C
- Android状态栏微技巧,带你真正理解沉浸式模式
- 【BZOJ】2657: [Zjoi2012]旅游(journey)
- 1036. 跟奥巴马一起编程(15)
- Python多线程编程
- FTP协议讲解
- 【笔试练习】美团笔试题(一)
- Android笔记->Executors应用学习
- 1037. 在霍格沃茨找零钱(20)
- 《招聘一个靠谱的iOS》面试题参考答案
- PLSQL Dynamic SQL one row result