【洛谷P1131】时态同步

洛谷P1131 [ZJOI2007]时态同步 原题地址:https://www.luogu.org/problemnew/show/P1131 题目描述 小QQQ在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3…1,2,3…1,2,3….进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。 在电路板... 阅读详情

背景:stu-49不是个好stu,听一下午树形DP毛都不会写。

链接

显然这是棵树

首先声明,我会说两种想法,第一个想法是错误的,第二个想法是正解。

第一个:

考虑直接从根走,len [ u ] 表示从根到结点u的路径长度,取个max表示 max { dis[u][son[u] };

ans=\sum_{u \epsilon leaves}max- len[u]

(以上为假式子)

这个做法显然是错的,因为我们只处理了根节点,而对于任意一个非根非叶结点,它与其子树是一个子问题,极有可能产生更优的答案,而我们直接忽略了,所以哇的很惨惨。

第二个:

树形DP。

第一个算法虽然不对,但是基本策略是对的,就是  1)在子树中找到最大值  2)答案的累加。

我们为了避免第一个的弊端,要考虑全所有子树。

先考虑最下层结点,是边界,不管了。

倒数第二层,它对答案的贡献就是ans[u]=\sum_{v \epsilon son[u]} max(dis[u][v])-len[u]

(假公式)

第三层呢?

第二层的子树已经处理了,不用管了。可以将第二层子树缩成一个节点 x,它需要表示出子树的深度。

原来父子的连边长度加上子树处理后的深度即可。这样第三层就成了一个“第二层”的问题,就过了。

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<queue>
#define maxn 500005
using namespace std;
int n,s;
int head[maxn];
struct node
{
    int x,y,nxt;
    long long z;
}e[maxn*2];
int tot=0;
int x,y;
long long z;
inline void ad(int x,int y,long long z)
{
    ++tot;
    e[tot].x=x;e[tot].y=y;e[tot].z=z;e[tot].nxt=head[x];head[x]=tot;
}
long long ans=0;
long long mx[maxn];
void dfs(int u,int fa)
{
    for(int i=head[u];i;i=e[i].nxt)
        if(e[i].y!=fa)
            dfs(e[i].y,u);//1.递归处理
            
    for(int i=head[u];i;i=e[i].nxt)
        if(e[i].y!=fa)
            mx[u]=max(mx[u],e[i].z);//2.可以先看作对于“第二层”问题的处理
    
    for(int i=head[u];i;i=e[i].nxt)
        if(e[i].y!=fa)
            ans+=mx[u]-e[i].z;//3.统计答案
    for(int i=head[fa];i;i=e[i].nxt)
        if(e[i].y==u)
        {
            e[i].z+=mx[u];
            break;
        }//4.将节点至于最深处,这样回到2就又是一个第二层的问题了。
    
}
int main()
{
    scanf("%d%d",&n,&s);
    for(int i=1;i<n;i++)
    {
        scanf("%d%d%lld",&x,&y,&z);
        ad(x,y,z);
        ad(y,x,z);
    }
    dfs(s,s);
    printf("%lld",ans);
}

 

深入CARLA地图底层:OpenDRIVE文件如何影响你的仿真效果与避坑指南 本文深入解析CARLA仿真中OpenDRIVE地图文件的核心作用,揭示其如何影响车道连接、交通规则和导航逻辑。通过实战案例和代码示例,提供五大典型地图问题的诊断与修复方案,帮助开发者优化仿真效果并规避常见陷阱。 阅读详情

相关推荐

永磁同步电机无传感器控制:HFI与ESMO技术详解

高频注入(HFI)和增强型滑模观测器(ESMO)是现代永磁同步电机(PMSM)无传感器控制的核心技术。HFI通过注入高频信号利用电机凸极效应获取转子位置,而ESMO则通过改进传统滑模观测器,有效抑制抖振并提升动态响应。这两种技术的结合特别适用于零低速区域的位置估计,在工业伺服、电动汽车等领域有广泛应用。方波高频注入作为实现方案之一,具有计算量小、实现简单的特点,配合自适应滤波等信号处理技术,可以在保证精度的同时降低系统成本。

weixin_29183637的博客 354

洛谷1131 时态同步(被欺骗的假树形dp)

分类:搜索 dfs 传送门:时态同步 题意: 树形结构【电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)】 题中给出所有边的花费,规定要使得从根点S到所有的终止节点的花费一致。 问,需要给所有边增加多少花费? 数据范围long long 思路: dis[i]保存 终止节点到i的最大花费。 //dfs从叶节点开始维护一下就行...

weixin_42091898的博客 205

从零到一:Silvaco中跨导曲线的自动化脚本实现

本文详细介绍了如何使用Python脚本在Silvaco中实现跨导曲线(gm曲线)的自动化分析,包括数据加载、跨导计算和结果可视化。通过自动化处理Id-Vg曲线,显著提升半导体器件工程师的工作效率,特别适用于工艺优化和DOE分析。文章还提供了批量处理和关键参数提取的高级技巧,帮助工程师快速掌握Silvaco脚本开发。

nn3456的博客 566

1060: [ZJOI2007]时态同步

水的一批 (有点像差分) #include<bits/stdc++.h> #define re return #define ll long long #define inc(i,l,r) for(int i=l;i<=r;++i) const int maxn=500005; char buf[1<<21],*p1,*p2; inline int gc(){re...

Lsylzx 158

Android车载多屏开发实战:从零搭建同显/异显Demo(附源码)

本文详细介绍了Android车载多屏开发的实战经验,从零搭建同显/异显Demo,涵盖多屏模拟、核心API调用、同显/异显架构实现及性能优化等关键环节。通过C++构建完整开发链路,帮助开发者快速掌握多屏同显和多屏异显技术,提升智能座舱系统的交互体验。附源码供参考。

weixin_29233857的博客 404

二阶锥松弛在配电网最优潮流计算中的应用(IEEE33节点配电网最优潮流算例matlab程序)(yalmip+cplex)

文献[7]建立了以支路潮流计算为基础的OPF模型,针对OPF中的非凸性约束,采用SOCR技术将其松弛为二阶锥约束,整个 OPF 模型则被转化为二阶锥规划( Second Order Cone Programming,SOCP)问题,对其求解可以得到全局最优解。其次结合辐射型配电网潮流特点建立支路潮流约束,并考虑配电网中的可控单元,包括分布式电源和离散、连续无功补偿装置,建立其出力约束,该模型为非凸非线性模型;式中,αj,t和βij,t分别为t时段内节点i电压的二次方和支路ij电流的二次方。

weixin_47365903的博客 1万+

[ZJOI2007] 时态同步(拓扑序)

我是丝箔

440

基于STM32的智能台灯PWM调光与人体感应融合设计

本文详细介绍了基于STM32单片机的智能台灯设计方案,重点讲解了PWM调光技术与人体感应模块的融合实现。通过STM32的高级定时器产生精准PWM信号控制LED亮度,结合红外传感器实现人来灯亮、人走灯灭的智能体验,同时集成光敏传感实现环境自适应调光,打造高效节能的智能照明解决方案。

threejs5artist的博客 823

P1131 [ZJOI2007] 时态同步

A国有N个城市,其中国王住在编号为S的城市中。整个国家通过N-1条边连接起来,嗯,就是一棵树的结构了国王有若干个儿子住在叶子城市中。为了保护这些王子,国王在城市的连通线上安排了一些士兵。现在为了体现他的均衡,国王决定再多派一些士兵,使得从S城出发到任一个叶子点 其路上的士兵数量是一样的。请问国王最少要派多少个士兵。小 Q 在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字 1 , 2 , 3 ⋯ 1,2,3⋯ 进行标号。电路板的各个节点由若干不相交的导线相连接

weq2011的博客 891

JavaScript性能优化:全链路性能优化策略

JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。

weixin_49707375的博客 1270

数学史学习资料:史前数学

著名物理学家伽莫夫(宇宙大爆炸理论以及核聚变理论的提出者)在他的科普书《从1到无穷大》中举了这样一个例子。两个原始部落的酋长比赛,看谁说的数字大。第一个酋长说了三,第二个酋长想了半天,然后说你赢了。你今天听起来觉得这两个人真可笑,至少说出四,岂不就赢了?但是对这两位酋长来讲,所拥有的东西就很少超过三个,比三个多的东西他们就觉得没有必要数清楚了,就用许多来形容了。也就是说,他们生活的环境限制了他们的认知。

howard2005的专栏 902

[洛谷 P1131 ZJOI2007] 时态同步 (树形dp)

[洛谷 P1131 ZJOI2007] 时态同步 题目链接 大致题意: n个点,n-1条边的无向树,根节点为s,每一条边有代价w 加上最小的代价把所有叶子节点到根节点的距离调为相同 解题思路: 贪心去想怎样花费的代价最小呢,肯定是调整一次边,可以对多个叶子节点产生影响 所以,调整越靠近根节点的边最终的代价越小 例如 以这种方式,就可以保证用最小的代价把所有叶子节点调整到同一深度 定义状态方程:f[i]表示从i到i的子树的叶子节点的最长距离 每次调整的代价为 f[u]-(f[v]+w) (w为u到v的

qq_49494204的博客 296

【存储原理】IO超时处理 块层block-scsi层之间

【存储原理】IO超时处理 块层block-scsi层之间

sinat_37817094的博客 1024

洛谷P1131 时态同步

链接。

2403_88416575的博客 299

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

洛谷P1131时态同步

题目描述 小QQ在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3…1,2,3….进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。 在电路板上存在一个特殊的元件称为“激发器”。当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。而中间节点接收...

Ivan_zcy的博客 376

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【代码】洛谷 P1131 [ZJOI2007] 时态同步 [树形 dp]

Success is the sum of small efforts, repeated day in and day out.

Isaac Regulus的博客 167

pscad IEEE标准系统搭建说明

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

洛谷 P1131 [ZJOI2007]时态同步

P1131 [ZJOI2007]时态同步 题目描述 小Q在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。 在电路板上存在一个特殊的元件称为“激发器”。...

HJ921004的博客 206

洛谷P1131 [ZJOI2007] 时态同步(树形dp)

在本题中,我们可以用节点深度来替代距离。我们可以先找到最深的叶子节点,再从最小的子树开始,通过最近的树枝,将所有的叶子节点调整到同一深度。以此类推,直到整颗树都被调整完成。我们调整靠近根节点的树枝时,其下叶子节点距离根节点的距离都会增加。因此,调整越靠近根节点的树枝所需要付出的代价就越少。

weixin_74754298的博客 1047

BZOJ1060: [ZJOI2007]时态同步(洛谷P1131)

贪心 BZOJ题目传送门 洛谷题目传送门 开学了。。。 为什么一坨树形DP啊。。。 设w[x]w[x]w[x]为以xxx为根的子树中传到叶子节点所需时间的最大值。那么每次下传一个标记remremrem表示当前已经在这条路径上加了多少时间,每遍历到一个节点时把答案加上w[rt]−w[x]−remw[rt]−w[x]−remw[rt]-w[x]-rem,然后把remremrem更新为w[rt...

forezxl的博客 333

洛谷P1131 【ZJOI2007】时态同步

题目传送门 这道题还是能比较容易的看出来它的树形结构的,时间即为边的长度,而且很显然的是,如果以xxx为根的子树已经时态同步,那么以xxx的儿子为根的子树肯定也已经时态同步,也就是说我们可以从xxx的儿子的状态推到xxx的状态,所以我们考虑树形DP。设f[i]f[i]f[i]表示在以iii为根的子树中达成时态同步需要最少用几次道具。 那么对于一个f[son[x]]f[son[x]]f[son[...

kdlkswb的博客 347

洛谷 P1131 [ ZJOI 2007 ] 时态同步 —— 树形DP

题目:https://www.luogu.org/problemnew/show/P1131 记录 x 子树内同步的时间 f[x],同步所需代价 g[x]; 直接转移即可,让该儿子子树与其它儿子同步,只需要在自己到儿子的那一条边上改动。 代码如下: #include<iostream> #include<cstdio> #include<cs...

aodan5477的博客 171

洛谷P1131: [ZJOI2007] 时态同步

[ZJOI2007] 时态同步 题目描述 小QQQ在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3…1,2,3…1,2,3….进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。 在电路板上存在一个特殊的元件称为“激发器”。当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。而中间节点接收到激励电流后,得到信息,并将该激励电流传向与它连接并且尚未接收到激

小公举的博客 336

洛谷P1131 时态同步 树形dp

给出n≤5e5n\leq5e5n≤5e5个点的一颗树,然后每次可以多花费一次代价给一条边+1+1+1,求问最终使得从根出发到所有叶子结点距离都相同的最小花费是多少。 一个结论是:每个子树都满足从根出发到叶子结点相同的这个条件,而且这个距离即为根到叶子结点最远的距离。 预处理出每个点到叶子结点的最远距离。然后有转移fu=∑v∈sonufv+du−dv−eu,vf_{u}=\sum\limits_{v...

qq_40859782的博客 326

[洛谷P1131] ZJOI2007 时态同步

问题描述 小Q在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数 字1,2,3….进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅 存在一条通路(通路指连接两个元件的导线序列)。在电路板上存在一个特殊的元件称为“激发器”。当激发器工 作后,产生一个激励电流,通过导线传向每一个它所连接的节点。而中间节点接收到激励电流...

weixin_30710457的博客 201

洛谷P1131 [ZJOI2007] 时态同步

树形dp题

PONY_10001的博客 283

【洛谷P1131】时态同步【树形dp】

题目大意: 题目链接:https://www.luogu.org/problem/P1131 给出一棵树以及其一个特殊点,可以选择一些边似的这条边的长度加1。问要使得从特殊点到达所有叶子结点的路径长度一样最少需要增加多少。 思路: 这道题准确来说应该不算dpdpdp吧 把这个点看做整棵树的根,那么我们就需要让所有叶子到根的距离相同。 假设点xxx的子树全部满足到叶子的距离相同,那么我们需要维护使...

stoorz 309
上一篇: 【洛谷P1850】换教室
下一篇: 【洛谷P2678】跳石头
Chiyo小朋友
博客等级 码龄8年 9粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值