noip模拟赛 游
【问题背景】
zhx 和他的妹子出去玩。
【问题描述】
zhx 和他的妹子去一个国家旅游,共有 N 个旅游景点, N-1 条双向连接的道
路将它们联通起来, 每一条道路有固定长度。 一开始 zhx 位于 1 号景点。
现在希望你能够求出旅行长度最小的方案, 使得每个景点至少被访问到一次。
【输入格式】
第一行两个整数 N, 代表景点数目。
接下来 N-1 行, 每行三个整数 s, t, w, 表示有一条从 s 到 t 的双向道路, 长
度为 w。 s 和 t 的编号从 1 开始。
【输出格式】
一行一个整数, 代表能够访问每个景点至少一次的方案的最小旅行长度。
【样例输入】
3
1 2 3
2 3 3
【样例输出】
6
【样例输入】
3
1 2 3
1 3 3
【样例输出】
9
分析:如果要回到原点,那么树上的每条边都至少要走两次.如果不需要回到原点,那么就停留在离根节点最远的点不回来就好了,ans = 边权和*2-最远距离.
#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; const int maxn = ;
int head[maxn], to[maxn], nextt[maxn], w[maxn], tot = , n, sum,maxx; void add(int x, int y, int z)
{
w[tot] = z;
to[tot] = y;
nextt[tot] = head[x];
head[x] = tot++;
} void dfs(int u, int from, int dist)
{
maxx = max(dist, maxx);
for (int i = head[u]; i; i = nextt[i])
{
int v = to[i];
if (v == from)
continue;
dfs(v, u, dist + w[i]);
}
} int main()
{
scanf("%d", &n);
for (int i = ; i <= n - ; i++)
{
int s, t, w;
scanf("%d%d%d", &s, &t, &w);
sum += * w;
add(s, t, w);
add(t, s, w);
}
dfs(, ,);
printf("%d\n", sum - maxx); return ;
}
noip模拟赛 游的更多相关文章
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
- 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...
- CH Round #58 - OrzCC杯noip模拟赛day2
A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...
- CH Round #52 - Thinking Bear #1 (NOIP模拟赛)
A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...
随机推荐
- 清北考前刷题da5下午好
/* (4,1)*(3,1)*(2,1)的话1变成2然后一直是2 2变成1然后变成3 3变成1然后变成4 4变成1 */ #include<iostream> #include<cs ...
- 运行Tomcat 遇到的问题以及解决总结
本文持续更新…… 情况一:在eclipse中启动tomcat提示 1. Server Tomcat v8.5 Server at localhost failed to start . 解决方案 方法 ...
- CSS布局大全
前几天面试,问我某布局感觉回答不是很OK所以研究了一下各种布局. 一.单列布局 1.普通布局(头部.内容.底部) <div class="container"> < ...
- CSS之选择符、链接、盒子模型、显示隐藏元素
<html> <head> <meta charset="utf-8"> <title>选择符.链接.盒子模型.显示隐藏元素< ...
- 【转】mysql中select用法
转自:http://blog.sina.com.cn/s/blog_a74f39a201013c3b.html 1.选择所有的记录 select * from table_name; 其中*表示表中的 ...
- P3373 【模板】线段树 2 区间求和 区间乘 区间加
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N.M.P,分别 ...
- ES6:Generator函数(1)
Generator函数是ES6提供的一种异步编程解决方案.它会返回一个遍历器对象 function* helloWorldGenerator(){ yield “hello”; yield “worl ...
- Android 将Bitmap对象保存为png图片文件
输入:Bitmap对象.保存的路径.保存的文件名 注意路径的最后要带上 '/' 符号 private void saveBitmap(Bitmap bitmap,String path, Strin ...
- golang 自定义time.Time json输出格式
工作中使用golang时,遇到了一个问题.声明的struct含time.Time类型.使用json格式化struct时,time.Time被格式化成”2006-01-02T15:04:05.99999 ...
- day20-面向对象基础
目录 面向对象基础 面向过程编程与面向对象编程 面向过程编程 面向对象编程 类与对象 类 对象 定义类和对象 定制对象独有特征 对象属性查找顺序 类与对象的绑定方法 类与数据类型 对象的高度整合 面向 ...