【dfs】【NOI 2011】【bzoj 2435】道路修建

找金子的c++程序 自己编写的一个c++程序语言 是个小游戏 刚刚学的vc 编的不太好 立即下载

2435: [Noi2011]道路修建

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 2645  Solved: 825

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

题解:

直接dfs一遍就好了,统计一下size就好了。

Code:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 1000100
#define LL long long
struct Edge{
    int v,l,next;
}edge[N<<1];
int n,num=0,sz[N],head[N];
bool vis[N]={0}; LL ans=0;
int in(){
    int x=0; char ch=getchar();
    while (ch<'0' || ch>'9') ch=getchar();
    while (ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar();
    return x;
}
void add(int u,int v,int l){
    edge[++num].v=v; edge[num].l=l;
    edge[num].next=head[u]; head[u]=num;
}
void dfs(int x){
    sz[x]=1;
    for (int i=head[x]; i; i=edge[i].next){
        int v=edge[i].v;
        if (vis[v]) continue;
        vis[v]=1; dfs(v);
        sz[x]+=sz[v];
        ans+=(LL)abs(n-(sz[v]<<1))*edge[i].l;
    }
}
int main(){
    n=in();
    for (int i=1; i<n; i++){
        int u=in(),v=in(),l=in();
        add(u,v,l),add(v,u,l);
    }
    vis[1]=1; dfs(1);
    printf("%lld\n",ans);
    return 0;
}
深入解析进化算法中的选择与多样性 在计算科学的世界里,最优雅的解决方案往往源于最古老的智慧——大自然。进化算法(Evolutionary Algorithms, EAs)正是这样一种受达尔文自然选择学说启发的强大工具。它们通过模拟“适者生存”的过程,在庞大的可能性海洋中搜寻最优解。。:指的是深入挖掘和优化已知的优质解。这就像在一片已知的沃土上精耕细作,力求获得最高产量。强大的选择压力会促进这一过程。:指的是在整个搜索空间中寻找全新的、可能更优的解。这好比派遣探险队去发现新大陆,充满了未知与机遇。保持种群的多样性是探索的关键。 阅读详情

相关推荐

浅谈迪杰斯特拉(Dijkstra)算法和A*算法原理及实现

迪杰斯特拉(Dijkstra)算法和A*算法的原理及实现。

Guo_Zhanyu 9598

【树形结构】LG P2052 [NOI2011]道路修建

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

bangzuan5029的博客 196

新手必看:电路设计里的‘地’到底怎么接?单点、多点、混合接地保姆级图解

本文深入解析电路设计中的接地技术,涵盖单点、多点和混合接地的原理与应用。通过详细的图解和实战案例,帮助新手理解接地在提供参考电位、构成电流回路及抑制电磁干扰中的关键作用,避免常见设计误区,提升电路稳定性与抗干扰能力。

weixin_28455801的博客 298

[NOI2011]道路修建

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

Z 896

Wordpress实战之第二章安装wordpress 软件需要的软件

使用下载并安装phpstudy面版工具 wget -O install.sh?https://notdocker.xp.cn/install.sh?&& sudo bash install.sh 2.安装成功如下 ==============运行状态========================= webpanel stop phpstudy running =================...

安全参透之旅 611

使用VNC可视化Docker容器

Docker容器可视化

Robert_Q的博客 1万+

luogu P2052 [NOI2011]道路修建 基础dfs子树节点个数好题

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

马角的逆袭的博客 309

PHP项目实战:易宝支付SDK对接全流程(含回调处理与常见问题排查)

本文详细介绍了PHP项目中易宝支付SDK的对接全流程,包括环境准备、SDK配置、支付请求构建与发起、回调处理实战以及常见问题排查。特别针对回调处理环节的常见问题提供了解决方案,帮助开发者快速完成支付对接并优化性能。

weixin_29007809的博客 387

NOI 2011 道路修建

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

weixin_30781107的博客 165

经典蓝牙中的Sniff、Hold与Park模式

若主设备在Sniff Attempt窗口外发送数据,从设备无法接收,需依赖重传机制。移动时立即传输数据。:Sniff Interval=20ms,Attempt=1时隙。:传感器每2秒唤醒一次同步信标,主设备按需唤醒特定传感器采集数据。Slave进入Sniff模式:每20ms唤醒1个时隙监听数据。:设备需要短暂执行高优先级任务(如扫描其他蓝牙设备)。:无数据传输超时后,设备可能自动进入Sniff模式。:主设备通过信标唤醒从设备,或从设备主动请求退出(:平衡功耗与响应速度,适合间歇性数据传输设备。

shishuangquan111的博客 1673

百度百科 X-Bk-Token 算法还原

百度百科 X-Bk-Token 算法还原

自成背后的博客 1万+

洛谷 P2052 [NOI2011] 道路修建 做题反思(2024.3.11)

由于国家的数量十分庞大,道路的建造方案有很多种,同时每种方案的修建费用难以用人工计算,国王们决定找人设计一个软件,对于给定的建造方案,计算出所需要的费用。为了各自国家的经济发展,他们决定在各个国家之间建设双向道路使得国家之间连通。每条道路的修建都要付出一定的费用,这个费用等于道路长度乘以道路两端 的国家个数之差的绝对值。本题关键是需要建立一个状态转移方程,其他的直接用模板套。输出一个整数,表示修建所有道路所需要的总费用。,表示 W 星球上的国家的数量,国家从。图中圆圈里的数字表示国家的编号。

weixin_73381974的博客 1009

理想L9高通QAM8797座舱域控制器全拆解|全网独家复现 硬件架构升级、电源散热优化、多屏低延迟交互、车机系统赋能高端智能座舱落地

随着智能汽车向舱驾一体、全域智能化、多模交互方向迭代,传统单一功能座舱芯片已无法满足多屏高刷渲染、全车AI语音、车内视觉感知、高速车载通信的叠加算力需求。2026款全新理想L9作为旗舰级智能SUV,全面搭载高通新一代旗舰座舱域控制器QAM8797,搭配自研马赫M100 AI芯片、国产车规主控芯片,构建起高性能、高可靠、低延迟的车载中央计算平台。

getusushu的博客 378

bzoj2435[Noi2011]道路修建

bzoj2435[Noi2011]道路修建 题意: 给个n点树,每条边的费用为这条边两端的节点数的差值*这条边的长度,求这个数的总费用。 题解: 水题,dfs求出节点的子树大小sz,对于每一条边,费用为深度大的sz值与n-sz相减的绝对值乘边的长度。 代码: 1 #include <cstdio> 2 #include <cstring> ...

anheku1562的博客 164

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Bzoj 2435: [Noi2011]道路修建 (dfs)

Bzoj 2435: [Noi2011]道路修建 大水题,会dfs即可. 记录一下size,n - size为另一部分的点.. Bzoj 会爆栈(真坑). ans记得开longlong,不然只有10分. #include <iostream> #include <cstdio> const int maxN = 1000000 + 7; int size[max...

dieloupi0136的博客 183

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

bzoj2435 [Noi2011]道路修建 dfs

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

olahiuj的博客 352

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

BZOJ2435: [Noi2011]道路修建(简单dfs)

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

tomjobs的博客 367

【BZOJ】【P2435】【Noi2011】【道路修建】【题解】【dfs】

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2435 说好的卡爆栈呢 Code; #include using namespace std; const int maxn=1e6+5; struct edge{int v,w;}; vectorG[maxn]; typedef long long LL; LL sum=0,ans=0

退役狗的专栏 1万+

bzoj 2435: [Noi2011]道路修建 (dfs)

2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3494  Solved: 1160 [Submit][Status][Discuss] Description 在 W 星球上有 n 个国家。为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝

clover_hxy的博客 467

bzoj 2435: [Noi2011]道路修建(DFS)

2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 4110  Solved: 1429 [Submit][Status][Discuss] Description 在 W 星球上有 n 个国家。为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通。但是每个国家的国王都很吝

加载中... 465

【bzoj 2435】[Noi2011]道路修建(dfs)

蝉燥林静之际,那夏夜万星未及君。

reverie_mjp的博客 357

BZOJ 2435 NOI2011 道路修建 BFS/DFS

题目大意:给定一棵树(直接给树,不是给图求生成树!),求每条边权值*两边点数之差的和 BFS水过即可 其实DFS也能过。。。系统栈可能有些不充裕,我们可以利用内嵌汇编手动开大系统栈 详见代码 这题读入优化可以优化掉4s左右 #include #include #include #include #define stack_size (20001000) #define M 1001001

世界 2415

【DFS】bzoj2435 [Noi2011]道路修建

两遍DFS。第一遍统计以每个点为根的子树大小,第二遍更新答案。 1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 int v[2000001],w[2000001],first[2000001],next[2000001],en,sz[1000001]; 5 bool v...

weixin_34082789的博客 162

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

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

weixin_30436891的博客 115

[BZOJ2435]NOI2011道路修建|dfs|bfs

NOI怎么会有这么水的题。。dfs维护一下size随便搞搞。。 #include #include #include #define N 1000005 #define ll long long using namespace std; struct edge{ int e,q,next; }ed[N*2]; int n,s,e,q,ne=1,i,a[N],size[N]; ll ans; v

Tag_king的专栏 576

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

NOI的水题...直接一遍DFS即可-------------------------------------------------------------------------#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<cstdl...

weixin_30640769的博客 79
上一篇: 【线段树】【bzoj 3211】花神游历各国
下一篇: 【模拟】【CQOI 2007】【bzoj 1258】三角形tri
morestep
博客等级 码龄12年 20粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值