哗啦啦村的扩建

浅谈迪杰斯特拉(Dijkstra)算法和A*算法原理及实现 迪杰斯特拉(Dijkstra)算法和A*算法的原理及实现。 阅读详情

Problem Description

呀呀呀,哗啦啦村在日渐发展中,越来越大了。
唐老师看到这欣欣向荣的情景,感到非常开心。
狗哥在旁边,“喏,我们村子扩建这么快,肯定用了不少钱吧?”
唐老师说:“是呀,不过这些钱都不及我零花钱的万万分之一。”

那么这时候问题来了,唐老师的零花钱至少应该有多少钱呢?
狗哥也想知道这道题的答案,于是他拜托了青君同学,了解到了村子扩建的费用。
啊,原来村子的扩建费用,就是修建道路的费用。
整个村子可以看作有n个房子,村子会修建n-1条道路,保证从任意房子可以到达任意其他房子。
那修建这n-1条道路的费用怎么记呢?对于每条道路,假设这条道路左边有x个房子,右边有y个房子,这条道路长度为k,那么费用就是k*|x-y|。

那么唐老师的零花钱至少有多少钱呢?现在你应该知道了吧。

Input

第一行一个整数,表示这个村子有n个房子
接下来n-1行,表示每条道路的信息,三个整数 a,b,c,表示a,b之间有一条道路,这条路的长度为c
1<=n<=50,000
1≤ai, bi≤n
0 ≤ci≤ 10^6
Output

输出一个整数,表示唐老师的零花钱至少有多少钱
Sample Input

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

2000000000
之前一直不知道链式前向星是什么,这次好好学了- -,但是始终想不通这和动规有什么关系。
链式前向星是要以边为单位来看的,是一个边的集合。
struct Node{
int to;
int next;
int w;
};
其中to就是这条边指向的终点,next就是下一条和这个边同一起点的边,具体操作的时候,是倒着存储的,但是当使用的时候还是要反过来,所以说是下一条边,w就是边的权值,如果有的话。还需要一个head数组来配合。
一开始head数组全为-1或者其他的哨兵值。
void add(int from,int to,int w,int i)
{
node[i].to=to;
node[i].w=w;
node[i].next=head[from];
head[from]=i;
}
from是起点,to是终点,w是权值,i是这条边的序号。前两个就不说了,第三行意思就是这个起点原来的最后一条边的序号,然后更新掉,换为i,那么使用的时候,就是从head[i]找,此时i是起点的序号,就是倒过来,一直到-1停止。

然后这题就是用链式前向星存起来,然后按点来搜,因为这是一棵树,可以保证所有点都搜一次,根据起点来确定边,再以边为单位,计算结果。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
long long head[50005], leap[50005], cnt[50005], n;
long long ans;
struct Node{
    long long to;
    long long next;
    long long w;
}node[100010];
void add(long long from, long long to, long long w, long long i)
{
    node[i].to = to;
    node[i].w = w;
    node[i].next = head[from];
    head[from] = i;
}
void dfs(long long x)
{
    leap[x] = 1;
    long long i;
    for (i = head[x]; i != -1; i = node[i].next)
    {
        long long &temp = node[i].to;
        if (leap[temp])continue;
        else
        {
            dfs(temp);
            cnt[x] = cnt[x] + cnt[temp];
            ans = ans + node[i].w*(abs(n - 2 * cnt[temp]));
        }
    }
}
int main()
{
    long long i, j, m, t;
    while (scanf("%lld", &n) != EOF)
    {
        memset(head, -1, sizeof(head));
        memset(leap, 0, sizeof(leap));
        for (i = 1; i <= n; i++)
            cnt[i] = 1;
        for (i = 1; i < n; i++)
        {
            long long a, b, c;
            cin >> a >> b >> c;
            add(a, b, c, i * 2 - 1);
            add(b, a, c, i * 2);
        }
        ans = 0;
        dfs(1);
        if (ans == 0)
            cout << ans << endl;
        else{
            cout << ans;
            cout << "00000000" << endl;
        }
    }
    return 0;
}

还有,最后答案是0就不用输出0000……了,还有,是多组输入……

python爬取银行年报2 python爬取公司年报(巨潮资讯网) 阅读详情

相关推荐

ResNet与注意力机制:深度学习中的强强联合

本文详细介绍了ResNet和注意力机制的基本原理,并探讨了如何将两者结合,以提升网络的性能。通过在ResNet中引入注意力机制,网络可以自适应地调整特征图的重要性,从而更加关注于关键区域,提升模型的性能。实验结果表明,引入注意力机制后,ResNet的性能得到了显著提升。未来,随着注意力机制的不断发展,我们可以期待更多创新的网络架构和训练方法,进一步提升深度学习模型的性能。

2401_82355416的博客 1782

C - 哗啦啦村的扩建

C-哗啦啦村的扩建 Time Limit:2000/1000MS (Java/Others)Memory Limit:512000/256000KB (Java/Others) SubmitStatus Problem Description 呀呀呀,哗啦啦村在日渐发展中,越来越大了。 唐老师看到这欣欣向荣的情景,感到非常开心。 狗哥在旁边,“喏,我们...

weixin_30909575的博客 110

SPSS回归分析(线性:一元(简单)和多重;非线性logistic)

SPSS线性回归分析回归分析一、线性模型(针对连续因变量,线性关系)(一)简单线性回归(一元线性回归)1、绘制散点图2、建立简单(一元)线性回归模型3、建立模型后,检查预测结果(二)多重回归分析1、绘制矩阵分布散点图(论文专用你懂的)2、建立多重回归模型point 1:自变量加入方法:逐步(步进)法3、建立模型后,检查预测结果二、非线性模型(将非线性问题转换为线性问题)1、logistic分析的回归模型1.1 建立回归模型1.2 利用回归模型进行预测 根据之前的学习,通过评价实验得到了主观数据, 通过 描述

weixin_44394352的博客 5万+

哗啦啦村的扩建(树形DP)

题目大意:已知,n个房子,n-1条路,保证从任意房子可以到达任意其他房子。对于每条道路,假设这条道路左边有x个房子,右边有y个房子,这条道路长度为k,那么费用就是k*|x-y|。请问,修建这n-1条路的费用是多少? 分析:给出一个最小生成树,自然就想到树形DP,从任意一个房子开始搜都可以。代码:#include <cstdio> #include <iostream> #include <cstr

Apple.Daily的专栏 461

Python Pygame 游戏开发中的状态机设计

在游戏开发中,一个游戏往往包含多个不同的场景和状态,例如主菜单、游戏关卡、暂停界面、游戏结束界面等。状态机设计的目的就是为了有效地管理这些不同的状态,使得游戏的逻辑更加清晰、易于维护和扩展。本文的范围主要聚焦于如何在 Python Pygame 这个游戏开发库中实现和应用状态机设计,涵盖了从基本概念到实际项目应用的各个方面。本文将按照以下结构进行组织:首先介绍状态机的核心概念和联系,包括其原理和架构;接着详细讲解核心算法原理和具体操作步骤,并通过 Python 代码进行说明;

AI Python 编程之道的博客 1236

Proteus 8.9仿真五路抢答器:从74LS148编码到NE555报警的保姆级电路拆解

本文详细解析了使用Proteus 8.9仿真五路抢答器的完整设计流程,从74LS148优先编码器到NE555定时报警电路。通过保姆级的电路拆解和芯片选型指南,帮助读者掌握数字电路中的编码、锁存、译码和定时等核心技术,实现稳定可靠的抢答系统仿真。

weixin_30836759的博客 380

哗啦啦村的扩建(DFS+链式前向星)

Link:http://acdream.info/contest?cid=1374#problem-C C - 哗啦啦村的扩建 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 512000/256000KB (Java/Others) Submit Status Problem Descripti

林下的码路 1357

Dify平台隐患url:/console/api/remote-files/upload暴露高危漏洞,配置nginx htpasswd模块认证机制屏蔽解决

内部网络探测: 攻击者可通过SSRF扫描内网服务云元数据访问: 可能访问AWS/Aliyun/腾讯云等元数据服务服务端请求伪造: 以服务器身份发起任意HTTP请求。

CN_Eden 1317

ACDream dp专题 C - 哗啦啦村的扩建

中文题反而更容易让人误解,,所谓每条路的左边x个房子右边y个房子。。其实就是每条路的一端的房子数和另一端的房子数。然后按题目的公式算。 树形dp一个dfs就可以解决了, 求出每条路的一端连上了多少个房子, 另一端显然就是n减掉这一端的,坑就坑在题意了吧,,题目不难。 当然坑点也是有的,,万万分之一也就是说结果要乘1e8, 可是结果是0的时候又只能输出0。 #include #include

zz_Black的博客 541

【JDK】win 10 / win 11:jdk 8 下载、安装、配置、验证

win10 / win 11:JDK 最新版本下载 / 历史版本下载(jdk 8)、安装、配置系统环境变量、验证安装全详细操作教程

顾三殇 —— 博客空间(软件测试) 13万+

17|CI/CD 集成与质量门禁:让精准测试进入发布流水线

本文讲解精准测试如何接入 CI/CD 流水线,并通过质量门禁辅助发布决策。测试开发工程师。Java 后端开发工程师。质量平台 / DevOps 平台建设者。想了解精准测试落地方法的技术负责人。

专注 AI 精准测试平台实战落地,分享从代码 Diff 到回归决策的完整工程闭环。主张“先建数据链路,再上 AI 智能”,让测试从“靠经验”走向“基于风险”。 65

5A景区破产!千名老板陷落!景区如何盈利?旅游如何破局?

熊大寻策划机构原创文章 熊大寻旅游规划公司很多年前就说过:旅游是所有行业中最难做的产业!不管你以前从事什么行业、有多成功,到了旅游都不管用,旅游是最特殊、最难做的产业。只有原创,没有标杆。学我者生,像我者死。因为每个景区历史文化、自然景观、民族风情完全不一样,复制和模仿一定失败!因为每个景区要成功,必须吸引全国游客而不仅是周边人群,因此普通的创意也一定失败!旅游业是最大的创意产业!没有创意就没有生...

weixin_45493693的博客 640

Oracle EBS的帐套由“4C”构成,而华为MetaERP将其发展为“6C”

华为MetaERP从OracleEBS的"4C"架构升级为"6C",实现核算理念革新。核心突破在于将会计科目、核算维度和核算单元解耦,形成"科目表+维度库"的灵活架构。新架构优势显著:1)科目回归会计本质,管理维度独立扩展;2)支持无限维度的精细化核算;3)实现数据权限隔离和内部交易自动化;4)采用元数据驱动设计,为AI应用奠定基础。这一平台化架构解决了大型企业在全球化、多元化发展中的核算难题,相比传统架构具有更强的灵活性和扩展性。

金牌架构师 203

技术权臣:失业博士搅动数据朝堂

211博士靖哥哥失业在家,被张三丰嘲笑“百无一用是书生”。 他怒将TCP/IP协议写成《网络真经》,以“数据包流动”解析朝堂派系,在御前会议点破六部互斗的“路由死循环”。 当张无忌提出百万流民安置难题,靖哥哥调出全国驿站实时数据云图:“此乃天然CDN节点,安置流民兼开快递网络,年入千万两!” 御书房深夜,皇帝指着量子加密信道问:“此物真能防住姑苏慕容的监听?” 靖哥哥微笑叩响紫檀木盒:“陛下,这盒中便是——互联网玉玺。” 初秋的晨光,懒洋洋地爬过窗棂,在靖哥哥凌乱的书桌上投下几道斜长的光影。桌角堆积如山的

金牌学霸 288

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

喵哈哈村的挑衅

Problem Description喵哈哈村就挨着哗啦啦村,他们很喜欢和哗啦啦村互黑~ 今天也不例外,喵哈哈派了智商流选手 青君 去挑衅哗啦啦村 哗啦啦村当然不会畏惧这种弱的挑衅,于是派出了谈笑风生的 狗哥 应战! 青君和狗哥站在一个空地上,空地上有两排物品,每排都有n个,每个物品都有一定价值 每次每个人只能拿第一排的最左边的物品,或者拿第一排最右边的物品,或者第二排最左边的物品,或者第二

Techay的博客 1370

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Fixing the Great Wall

The Great Wall of China is truly one of the greatest wonders of the world. In 3-rd century BC, Emperor Qin Shi Huang connected the defensive structures built earlier by the states of Qin, Yan, and Zha

Techay的博客 1126

607A Chain Reaction(DP)

There are n beacons located at distinct positions on a number line. The i-th beacon has position ai and power level bi. When the i-th beacon is activated, it destroys all beacons to its left (direction

Techay的博客 1019

哗啦啦村的日常游戏(一)抓个球

Problem Description唐老师和狗哥在玩哗啦啦村的日常游戏——抓个球。 在袋子里有w个白球,b个黑球。 唐老师和狗哥轮流从袋子里抓球,谁先抓到白球谁就胜利。 但是,令唐老师和狗哥没想到的是,小彭玉居然来捣乱了! 每当唐老师和狗哥一回合抓球结束后(各抓取一个球),小彭玉会偷偷的抓取一个球走。 那么这时候,问题来了,当唐老师先手的时候,唐老师获胜的概率是多少呢? 假设所有抓球都

Techay的博客 770

Caesar's Legions(记忆化搜索)

Gaius Julius Caesar, a famous general, loved to line up his soldiers. Overall the army had n1 footmen and n2 horsemen. Caesar thought that an arrangement is not beautiful if somewhere in the line there

Techay的博客 731

Food Delivery(区间DP)

When we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery.Suppose there are N people living in

Techay的博客 710

Bomb(数位DP)

Description The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence of the time bomb counts from 1 to N. If the current number

Techay的博客 684

搬寝室

Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2*k件过去就行了.但还是会很累,因为2*k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每搬

Techay的博客 677

George and Job

 The new ITone 6 has been released recently and George got really keen to buy it. Unfortunately, he didn't have enough money, so George was going to work as a programmer. Now he faced

Techay的博客 672

Apple Catching(DP)

Description It is a little known fact that cows love apples. Farmer John has two apple trees (which are conveniently numbered 1 and 2) in his field, each full of apples. Bessie cannot reach the apples

Techay的博客 658

Milking Time

Milking Time Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 3616 Appoint description:  System Crawler  (2015-04-30) Description Bess

Techay的博客 594

Writing Code(DP)

Programmers working on a large project have just received a task to write exactly m lines of code. There are n programmers working on a project, the i-th of them makes exactly ai bugs in every line of

Techay的博客 590
上一篇: 喵哈哈村的挑衅
下一篇: 喵哈哈的日常选数问题
Techay
博客等级 码龄11年 11粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值