2227 邮票--FUoj(链接表+树的直径)
http://acm.fzu.edu.cn/problem.php?pid=2227
我感觉这道题可以随意搞
题目大意: 给你的一个图就是一条链,但是不知道起始点和结束点,而且每个点只会访问一次。
因为数太大了 只能用邻接表保存。
我不知不觉的用了树的直径 代码写的太乱了 但是是我自己写的,虽然这道题真的不难,但是还是很开心
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
#include<iostream>
#include<queue> using namespace std;
#define N 201000
#define pi acos(-1.0)
#define ESP 1e-8 int head[N],ans,sum,vis[N],s1[N];
int x[N],y[N],a[N];
struct node
{
int v,next;
}e[N]; void Add(int u,int v)
{
e[ans].v=v;
e[ans].next=head[u];
head[u]=ans++;
} int index=;
void solve(int s)
{
index=s;
s1[sum++]=a[s];
for(int i=head[s];i!=-;i=e[i].next)
{
int v=e[i].v;
if(!vis[v])
{
vis[v]=;
solve(v);
}
}
} int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int cnt=;
for(int i=;i<n;i++)
{
scanf("%d %d",&x[i],&y[i]);
a[cnt++]=x[i];
a[cnt++]=y[i];
}
sort(a,a+cnt);
int len=unique(a,a+cnt)-a; memset(head,-,sizeof(head));
ans=;
for(int i=;i<n;i++)
{
int u=lower_bound(a,a+len,x[i])-a;
int v=lower_bound(a,a+len,y[i])-a; Add(u,v);
Add(v,u);
}
sum=;
memset(vis,,sizeof(vis));
vis[]=;
solve();
sum=;
memset(vis,,sizeof(vis));
vis[index]=;
solve(index);
if(s1[]>s1[sum-])
{
for(int i=sum-;i>=;i--)
printf("%d%c",s1[i],(i==?'\n':' '));
}
else
for(int i=;i<sum;i++)
printf("%d%c",s1[i],(i==sum-?'\n':' '));
}
return ;
}
2227 邮票--FUoj(链接表+树的直径)的更多相关文章
- poj2631 求树的直径裸题
题目链接:http://poj.org/problem?id=2631 题意:给出一棵树的两边结点以及权重,就这条路上的最长路. 思路:求实求树的直径. 这里给出树的直径的证明: 主要是利用了反证法: ...
- poj1985 Cow Marathon (求树的直径)
Cow Marathon Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 3195 Accepted: 1596 Case ...
- VIJOS1476旅游规划[树形DP 树的直径]
描述 W市的交通规划出现了重大问题,市政府下决心在全市的各大交通路口安排交通疏导员来疏导密集的车流.但由于人员不足,W市市长决定只在最需要安排人员的路口安放人员.具体说来,W市的交通网络十分简单,它包 ...
- poj2631 树的直径
设s-t是这棵树的直径,那么对于任意给予的一点,它能够到达的最远的点是s或者t. 这样我们可以通过2次bfs找到树的直径了. #include<cstdio> #include<qu ...
- 【BZOJ-1912】patrol巡逻 树的直径 + DFS(树形DP)
1912: [Apio2010]patrol 巡逻 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 1034 Solved: 562[Submit][St ...
- 牡丹江.2014B(图论,树的直径)
B - Building Fire Stations Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%lld & ...
- hdu 4607 Park Visit 求树的直径
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4607 题目大意:给你n个点,n-1条边,将图连成一棵生成树,问你从任意点为起点,走k(k<=n) ...
- [USACO2004][poj1985]Cow Marathon(2次bfs求树的直径)
http://poj.org/problem?id=1985 题意:就是给你一颗树,求树的直径(即问哪两点之间的距离最长) 分析: 1.树形dp:只要考虑根节点和子节点的关系就可以了 2.两次bfs: ...
- BZOJ 2282 & 树的直径
SDOI2011的Dayx第2题 题意: 在树中找到一条权值和不超过S的链(为什么是链呢,因为题目中提到“使得路径的两端都是城市”,如果不是链那不就不止两端了吗——怎么这么机智的感觉...),使得不在 ...
随机推荐
- Tomcat - SSL操作大全
简介 制作CSR申请文件 安装证书文件 客户证书认证 证书的备份(导出) 证书的恢复(导入) 简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.20(截止 ...
- IOS跳转设置页面及其他各种跳转页面设置
转载来源 CocoaChina 跳到更多设置界面 除了跳到WiFi设置界面,能不能跳到其他的设置界面呢?比如:定位服务.FaceTime.音乐等等.都是可以的,一起来看看如何实现的! 定位服务 定位服 ...
- yum install nginx
先安装nginx的yum源 http://nginx.org/en/linux_packages.html#stable 找到链接,安装: rpm -ivh http://nginx.org/pack ...
- .net一次连接执行多条sql语句
方法一: string SQLString="select 1; select 2;"; using (OdbcConnection connection = new OdbcCo ...
- 47. Largest Rectangle in Histogram && Maximal Rectangle
Largest Rectangle in Histogram Given n non-negative integers representing the histogram's bar height ...
- Mono addin 学习笔记 4 再论数据扩展点(Data only extension point)
1. Attribute声明方式 定义扩展属性 [AttributeUsage(AttributeTargets.Assembly, AllowMultiple= true)] public clas ...
- jquery事件合集
1.在input输入数据时执行的事件(边输入边触发事件) $("input[id='subjectNum']").bind('input propertychange', func ...
- teamviewer 过期解决办法
参考资料: http://blog.csdn.net/z249683156/article/details/41842271
- 获取Spring容器中的Bean
摘要 SpringMVC框架开发中可能会在Filter或Servlet中用到spring容器中注册的java bean 对象,获得容器中的java bean对象有如下方法 Spring中的Applic ...
- 解决关于ArcGIS10.2服务手动启动的问题
解决关于ArcGIS10.2服务手动启动的问题 C:\program files\arcgis\license10.2\bin> lmgrd -z -c service.txt新建一文本,将上面 ...