博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NEUACM1132: Renew MST Quickly 增量最小生成树
阅读量:5869 次
发布时间:2019-06-19

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

题目链接:

和UVa11354很类似

题意:

原先有一棵树,每次加一条边,看最小生成树大小;

这个和增量最小生成树,还是有一点点差别的,就是,正版增量最小生成树,是每次加入一条边后,删掉那个换里面的最大权,当然这里没有这个;

每次的找LCA,我猜可能LCA都会超时吧,没事过,也有可能可以,但是,因为是一直是之前的那棵树,还不如一次性算出来dis i 到 j 的最长路;

1 #include 
2 3 using namespace std; 4 5 const int maxn = 1000 + 5; 6 7 struct Edge 8 { 9 int from,to,dist; 10 }; 11 12 vector
G[maxn]; 13 int pa[maxn]; 14 bool vis[maxn]; 15 int dis[maxn][maxn]; 16 17 void dfs(int u,int fa) 18 { 19 int d = G[u].size(); 20 for(int i=0; i
d) 97 printf("%d\n",sum-maxx+d); 98 else printf("%d\n",sum); 99 100 }101 }102 103 return 0;104 }
View Code

 

转载于:https://www.cnblogs.com/TreeDream/p/6771099.html

你可能感兴趣的文章
我的友情链接
查看>>
Oracle数据库之SQL子查询详解
查看>>
linux 基础复习
查看>>
Nginx反向代理 代理参数配置
查看>>
hosts文件管理工具
查看>>
APP-V 5.0 单机部署实践-草稿
查看>>
一直在路上
查看>>
Python 中的异常种类
查看>>
转载:唐磊的个人博客《python中decorator详解》【转注:深入浅出清晰明了】
查看>>
友盟:APP 数据分析的六要素
查看>>
Purge和drop的区别
查看>>
模板引擎Mustache
查看>>
打不死的redis集群
查看>>
java二分查找
查看>>
python学习--数据类型
查看>>
CentOS 7中安装Oracle JDK1.8环境
查看>>
vim中文乱码问题
查看>>
bash脚本编程与正则表达式
查看>>
SnowNLP:处理中文文本的Python库,分词
查看>>
我的友情链接
查看>>