Description

在 W 星球上有 n 个国家。为了各自国家的经济发展,他们决定在各个国家
之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝啬,他们只愿
意修建恰好 n – 1条双向道路。 每条道路的修建都要付出一定的费用, 这个费用等于道路长度乘以道路两端的国家个数之差的绝对值。例如,在下图中,虚线所示道路两端分别有 2 个、4个国家,如果该道路长度为 1,则费用为1×|2 – 4|=2。图中圆圈里的数字表示国家的编号。

由于国家的数量十分庞大,道路的建造方案有很多种,同时每种方案的修建
费用难以用人工计算,国王们决定找人设计一个软件,对于给定的建造方案,计
算出所需要的费用。请你帮助国王们设计一个这样的软件。
Input

输入的第一行包含一个整数n,表示 W 星球上的国家的数量,国家从 1到n
编号。接下来 n – 1行描述道路建设情况,其中第 i 行包含三个整数ai、bi和ci,表
示第i 条双向道路修建在 ai与bi两个国家之间,长度为ci。

Output

输出一个整数,表示修建所有道路所需要的总费用。
Sample Input

6
1 2 1
1 3 1
1 4 2
6 3 1
5 2 1
Sample Output

20
HINT

n = 1,000,000 1≤ai, bi≤n

0 ≤ci≤ 10^6

卡时间卡的真厉害,wikioi上总时间1.5s左右过了,BZOJ上最后没办法cheat最大的点,但是还是9s+过的

 const
maxn=;
var
first:array[..maxn]of longint;
next,last,len:array[..maxn*]of longint;
n,tot:longint;
ans:int64; procedure insert(x,y:longint);
begin
inc(tot);
last[tot]:=y;
next[tot]:=first[x];
first[x]:=tot;
end; var
q,size,fa:array[..maxn]of longint;
l,r:longint; procedure bfs;
var
i,u,v:longint;
begin
l:=;r:=;q[]:=;
while l<=r do
begin
u:=q[l];
i:=first[u];
while i<> do
begin
v:=last[i];
if v<>fa[u] then
begin
fa[v]:=u;
inc(r);q[r]:=v;
end;
i:=next[i];
end;
inc(l);
end;
for l:=n downto do
begin
u:=q[l];inc(size[u]);
i:=first[u];
while i<> do
begin
v:=last[i];
if v<>fa[u] then
begin
inc(size[u],size[v]);
inc(ans,int64(len[i])*abs(size[v]<<-n));
end;
i:=next[i];
end;
end;
end; procedure main;
var
i,x,y:longint;
begin
read(n);
for i:= to n- do
begin
read(x,y,len[tot+]);
len[tot+]:=len[tot+];
insert(x,y);insert(y,x);
end;
bfs;
writeln(ans);
end; begin
main;
end.

2435: [Noi2011]道路修建 - BZOJ的更多相关文章

  1. bzoj 2435: [Noi2011]道路修建 树上 dp

    2435: [Noi2011]道路修建 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ...

  2. BZOJ 2435: [Noi2011]道路修建( dfs )

    NOI的水题...直接一遍DFS即可 ------------------------------------------------------------------------- #includ ...

  3. BZOJ 2435: [Noi2011]道路修建 dfs搜图

    2435: [Noi2011]道路修建 Description 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他 ...

  4. 2435: [Noi2011]道路修建

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2188  Solved: 639[Submit][Status ...

  5. 2435: [Noi2011]道路修建(树上操作)

    2435: [Noi2011]道路修建 题目:传送门 题解: 建完边之后以1为根建树,统计深度和各个点的子树大小(包括自己) 询问的时候:答案=长度*abs(n-深度大的点的子树大小*2) ans+= ...

  6. 【BZOJ】2435: [Noi2011]道路修建(树形dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2435 我怎么感觉那么水.. 坑的是,dfs会爆...好吧..用bfs.. //upd:我的智商也是醉 ...

  7. bzoj 2435: [Noi2011]道路修建

    Description 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1条双向道 ...

  8. bzoj 2435: [Noi2011]道路修建【树形dp】

    dp求size和deep,然后对每条边模拟求代价即可 #include<iostream> #include<cstdio> #include<algorithm> ...

  9. NOI2011道路修建

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1974  Solved: 550[Submit][Status ...

随机推荐

  1. TrineaAndroidCommon API Guide

    android-common-lib 关于我,欢迎关注微博:Trinea    主页:trinea.cn    邮箱:trinea.cn#gmail.com    微信:codek2 主要包括:缓存( ...

  2. 在window 下安装Memcache详解

    有时候我们需要在本地测试的时候就用到memcahce,如果本地没有安装memcache,就会有下面的错误提示: 1234567 系统发生错误 您可以选择 [ 重试 ] [ 返回 ] 或者 [ 回到首页 ...

  3. Oracle数据库对象_同义词

    同义词是一种数据库对象,它是为一个数据库对象定义的别名,使用同义词的主要目的是为了简化SQL语句的书写. 同义词的概念和类型 利用同义词可以为用户的一个对象,或者其他用户的一个对象定义别名,从而简化命 ...

  4. XibDemo

    ////  MyviewViewController.h//  XibDemo////  Created by hehe on 15/9/21.//  Copyright (c) 2015年 wang ...

  5. jquery 和 js 对象转换

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...

  6. android ListView的怪异现象

    我们已经知道,当条目没显示一次,那个类重写的最后一个函数就执行一次,但是现在,发生了怪异现象!当窗体的属性设置为包裹的时候,会重复显示多次,所以,高度,宽度都要设置为充满类型才可以

  7. template_20_实现智能指针

    一:计数器二:析构和释放三:SmartPoint

  8. Spring-Mybatis 异常记录(1)

    Spring  applicationconfig.xml如下 <?xml version="1.0" encoding="UTF-8"?> < ...

  9. UCML平台中 如何设置列表单元格中的链接失效

    解决方案: 找到“a.datagrid-cell-bclink”,麻烦的是这个标记是由js动态加载的,需要等待这个加载完成:等加载完成后,删除a标记“$(“a.datagrid-cell-bclink ...

  10. web前端--知识点,笔记叠加(javascript,jquery,html5+css3.0,ajax)

    函数传参列表,获取方法arguments的使用 function arg(){ var str = '总共传了'+arguments.length+'个参数\n'; for(var i=0;i< ...