题目链接:http://acm.neu.edu.cn/hustoj/problem.php?id=1132

和UVa11354很类似

题意:

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

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

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

 #include <bits/stdc++.h>

 using namespace std;

 const int maxn =  + ;

 struct Edge
{
int from,to,dist;
}; vector<Edge> G[maxn];
int pa[maxn];
bool vis[maxn];
int dis[maxn][maxn]; void dfs(int u,int fa)
{
int d = G[u].size();
for(int i=; i<d; i++)
{
int v = G[u][i].to;
if(v!=fa)
dfs(v,pa[v]=u);
}
} void _dfs(int k,int cur,int cost) {
vis[cur] = ; int d = G[cur].size();
for(int i=;i<d;i++) {
if(!vis[G[cur][i].to]) {
dis[k][G[cur][i].to] = max(cost,max(dis[k][G[cur][i].to],G[cur][i].dist));
int v = G[cur][i].to;
_dfs(k,v,dis[k][v]);
}
} } int main()
{
int n;
int kase = ;
while(scanf("%d",&n)!=EOF)
{
printf("Test #%d\n",++kase); for(int i=;i<n;i++)
G[i].clear(); int sum = ;
for(int i=; i<n-; i++)
{
int u,v,d;
scanf("%d%d%d",&u,&v,&d);
u--;
v--;
sum+=d;
G[u].push_back((Edge)
{
u,v,d
});
G[v].push_back((Edge)
{
v,u,d
});
dis[u][v] = d;
dis[v][u] = d;
}
pa[] = -;
dfs(,-); for(int i=;i<n;i++) {
memset(vis,,sizeof(vis));
vis[i] = ;
_dfs(i,i,);
} int q;
scanf("%d",&q); while(q--)
{
memset(vis,,sizeof(vis));
int u,v,d;
scanf("%d%d%d",&u,&v,&d);
u--;
v--; int maxx = ; maxx = dis[u][v]; if(maxx>d)
printf("%d\n",sum-maxx+d);
else printf("%d\n",sum); }
} return ;
}

最新文章

  1. HDFS --访问
  2. 示例详解:UIScrollview 与 Autolayout 的那点事
  3. 你也可以用java的swing可以做出这么炫的mp3播放器_源码下载
  4. (7)nehe教程1 创建一个OpenGL窗口:
  5. 微软Hololens学院教程- Holograms 101: Introduction with Device【微软教程已经更新,本文是老版本】
  6. 如何在Win10中启用和关闭管理员账户?
  7. MongoDB 任意代码执行漏洞(CVE-2013-4142)
  8. C++----练习
  9. machine learn in python 第二章2.1.1
  10. asp.net读取CSV
  11. 多线程计算----pthread
  12. JS对select动态添加options操作(主流浏览器兼容)
  13. 音频增益响度分析 ReplayGain 附完整C代码示例
  14. ROS(indigo)机器人操作系统学习有趣丰富的Gazebo仿真示例evarobot
  15. java调用python程序以及向python程序传递参数
  16. Python开发【内置模块篇】collections
  17. window.location.reload();页面实现跳转和刷新
  18. 【托业】toeic托业必背核心词汇_修正版
  19. Apache无法正常启动(配置多个监听端口)
  20. noip第23课资料

热门文章

  1. python练习七十:图片生成
  2. 红米note_维修_开机键
  3. Oracle RAC集群搭建(一)-ASM共享存储卷
  4. 【3dsMax安装失败,如何卸载、安装3dMax 2015?】
  5. 移动端刷新组件XtnScroll--Angular4实现
  6. MYSQL系列-MYSQL基础增强(Myql函数)
  7. CMD 模块定义规范【转】
  8. 吴恩达《Machine Learning Yearning》总结(11-20章)
  9. 深入理解JavaScript系列(25):设计模式之单例模式
  10. [转]Newtonsoft.Json高级用法