博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2586 How far away ?
阅读量:6813 次
发布时间:2019-06-26

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

该题一下子就爆栈了,我还只能用G++可以提交,c++还是过不了;

该题是一道LCA,这里就不重复了,(前面已经说了);

#include
#include
#include
#include
using namespace std; class node {
public: int en; int len; }; vector
tree[40024],Qes[40024]; int dis[40024],ans[40024],set[40024],visit[40024],ancestor[40024]; void init( int n ) {
for(int i=0;i<=n;i++) {
dis[i]=0; ans[i]=0; set[i]=i; visit[i]=0; tree[i].clear( ); Qes[i].clear( ); } } int find( int x ) {
return set[x]==x?x:set[x]=find( set[x] ); } void Union( int a,int b ) {
set[find( b )]=set[find( a )]; } void LCA( int num,int d ) {
dis[num]=d; visit[num]=1; set[num]=num; int size=Qes[num].size(); for( int i=0; i
m?n:m ); for( int i=1; i< n ;i++ ) { scanf( "%d %d %d",&x,&y,&dis ); node T; T.en=y; T.len=dis; tree[x].push_back( T ); T.en=x; tree[y].push_back( T ); } for( int i=1;i<=m ;i++ ) { scanf( "%d %d",&x,&y ); node T; T.en=y; T.len=i; Qes[x].push_back( T ); T.en=x; Qes[y].push_back( T ); } LCA( 1, 0 ); for( int i=1;i<=m;i++ ) { printf( "%d\n",ans[i] ); } } return 0; }

 

转载于:https://www.cnblogs.com/bo-tao/archive/2012/01/07/2316060.html

你可能感兴趣的文章
64位Ubuntu下安装IE6步骤
查看>>
Emacs之slime环境配置
查看>>
enq: US - contention等待事件
查看>>
NDK图形函数在某些机型下显示花屏的问题
查看>>
Dojo学习笔记(十三):Dojo表单控件——TextBox及其变体
查看>>
一文搞懂HMM(隐马尔可夫模型)
查看>>
使用python和批处理bat脚本ping检测主机连通性
查看>>
MaxScale Binlog Server
查看>>
Python3下OpenCV的安装
查看>>
Qpid第四课 异常以及崩溃
查看>>
C# 调用C++接口
查看>>
【系列4】使用Dockerfile创建带tomcat的Centos Docker镜像
查看>>
webservice返回子类
查看>>
MySQL数据管理1
查看>>
kernel对于SO_REUSEADDR的处理——避免滥用引发Bug
查看>>
Saltstack SLS文件解读
查看>>
LiveUSB像光驱LiveCD一样启动
查看>>
Linux利用sendmail和fetion发送报警通知
查看>>
C/C++中一次性执行多个DOS命令
查看>>
(转载)经典SQL语句大全3-技巧篇
查看>>