【LOJ】#2445. 「NOI2011」道路修建
题解
看完题目我的第一个反应是……要求最小花费的方案?!怎么求???
然后我把题读完了。好吧。
记录一下size就行,比NOIP普及组还要不如的题= =
代码
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
#define enter putchar('\n')
#define space putchar(' ')
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define eps 1e-7
#define MAXN 1000005
//#define ivorysi
using namespace std;
typedef long long int64;
typedef double db;
template<class T>
void read(T &res) {
	res = 0;char c = getchar();T f = 1;
	while(c < '0' || c > '9') {
		if(c == '-') f = -1;
		c = getchar();
	}
	while(c >= '0' && c <= '9') {
		res = res * 10 + c - '0';
		c = getchar();
	}
	res *= f;
}
template<class T>
void out(T x) {
	if(x < 0) {putchar('-');x = -x;}
	if(x >= 10) {
		out(x / 10);
	}
	putchar('0' + x % 10);
}
int N;
struct node {
	int to,next,val;
}E[MAXN * 2];
int sumE,head[MAXN],siz[MAXN];
int64 ans;
void add(int u,int v,int c) {
	E[++sumE].to = v;
	E[sumE].next = head[u];
	E[sumE].val = c;
	head[u] = sumE;
}
int dfs(int u,int fa) {
	siz[u] = 1;
	for(int i = head[u] ; i ; i = E[i].next) {
		int v = E[i].to;
		if(v != fa) {
			dfs(v,u);
			siz[u] += siz[v];
			ans += 1LL * E[i].val * abs(N - siz[v] - siz[v]);
		}
	}
}
void Solve() {
	read(N);
	int u,v,c;
	for(int i = 1 ; i < N ; ++i) {
		read(u);read(v);read(c);
		add(u,v,c);add(v,u,c);
	}
	dfs(1,0);
	out(ans);enter;
}
int main() {
#ifdef ivorysi
	freopen("f1.in","r",stdin);
#endif
	Solve();
}
【LOJ】#2445. 「NOI2011」道路修建的更多相关文章
- 【LOJ】#2186. 「SDOI2015」道路修建
		题解 就是线段树维护一下转移矩阵 分成两种情况,一种是前面有两个联通块,一种是前面有一个联通块 从一个联通块转移到一个联通块 也就是新加一列的三个边选其中两条即可 从一个联通块转移到两个联通块 不连竖 ... 
- LOJ#2444. 「NOI2011」阿狸的打字机
		题目描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有 \(28\) 个按键,分别印有 \(26\) 个小写英文字母和 B . P 两个字母. 经阿狸研究发现,这个打字机是 ... 
- Loj #2529. 「ZJOI2018」胖
		Loj #2529. 「ZJOI2018」胖 题目描述 Cedyks 是九条可怜的好朋友(可能这场比赛公开以后就不是了),也是这题的主人公. Cedyks 是一个富有的男孩子.他住在著名的 The P ... 
- 【NOI2011】道路修建 BFS
		[NOI2011]道路修建 Description 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿意修建 ... 
- Loj #2192. 「SHOI2014」概率充电器
		Loj #2192. 「SHOI2014」概率充电器 题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品--概率充电器: 「采用全新纳米级加工技术,实现元件与导线能否通电完 ... 
- Loj #3096. 「SNOI2019」数论
		Loj #3096. 「SNOI2019」数论 题目描述 给出正整数 \(P, Q, T\),大小为 \(n\) 的整数集 \(A\) 和大小为 \(m\) 的整数集 \(B\),请你求出: \[ \ ... 
- Loj #3093. 「BJOI2019」光线
		Loj #3093. 「BJOI2019」光线 题目描述 当一束光打到一层玻璃上时,有一定比例的光会穿过这层玻璃,一定比例的光会被反射回去,剩下的光被玻璃吸收. 设对于任意 \(x\),有 \(x\t ... 
- Loj #3089. 「BJOI2019」奥术神杖
		Loj #3089. 「BJOI2019」奥术神杖 题目描述 Bezorath 大陆抵抗地灾军团入侵的战争进入了僵持的阶段,世世代代生活在 Bezorath 这片大陆的精灵们开始寻找远古时代诸神遗留的 ... 
- Loj #2542. 「PKUWC2018」随机游走
		Loj #2542. 「PKUWC2018」随机游走 题目描述 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(Q\) 次询问,每次 ... 
随机推荐
- P1075 质因数分解
			P1075 质因数分解 题目描述 已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数. 输入输出格式 输入格式: 一个正整数 n . 输出格式: 一个正整数 p ,即较大的那个质数. ... 
- java synchronized 的原理。
			synchronized的作用大概分为三种: 1.确保多线程互斥的访问多线程代码.2.保证变量的可见性.3.防止指令重排序. 那么synchronized 是如何实现这些功能的. public cla ... 
- php 中 FastCGI与cgi的关系,何为fastcgi
			FastCGI是语言无关的.可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持 在内存中并因此获得较高的性能.众所周知,CGI解释器的反复加载是CGI性能低下的主要原因, 如果CGI解释器 ... 
- 2017 清北济南考前刷题Day 6 morning
			T1 贪心 10 元先找5元 20元 先找10+5,再找3张5 #include<cstdio> using namespace std; int m5,m10,m20; int main ... 
- 牛市必备的三个条件,A股现在还差几个
			1.国家政策 2.中美贸易 3.资金支持 A股变化如神! 自本月10日受美股大跌的影响后,A股先是随之震荡跳水,千股跌停:随后因高层力挺和政策支持而V型反转,集体涨停:接着上演过山车走势,有时涨得令人 ... 
- jetty 热部署
			1,在pom.xml文件中配置jetty插件的参数:scanIntervalSeconds <plugin> <groupId>org.mortbay.jetty</gr ... 
- 在cygwin下安装ns2
			首先下载ns2.可以到sourceforge去下载最新的all-in-one版本2.31,url为http://sourceforge.net/project/showfiles.php?group_ ... 
- Android 实现两个list分别出现(在某一时刻只出现一个控件)
			第一种方法: 在.xml文件中将这两个List分别放入不同的布局管理器中,比如说 <RelativeLayout android:layout_width="match_parent& ... 
- 翻译:CommonJS的wiki
			CommonJS的wiki资料原文 Modules/AsynchronousDefinition 异步定义的模块(国内一般叫AMD模块定义) STATUS: PROPOSAL 现状:提案 Implem ... 
- bzoj 4816: 洛谷 P3704: [SDOI2017]数字表格
			洛谷很早以前就写过了,今天交到bzoj发现TLE了. 检查了一下发现自己复杂度是错的. 题目传送门:洛谷P3704. 题意简述: 求 \(\prod_{i=1}^{N}\prod_{j=1}^{M}F ... 
