首页 > 其他分享 >洛谷P3128 [USACO15DEC] Max Flow P && 树上差分

洛谷P3128 [USACO15DEC] Max Flow P && 树上差分

时间:2024-09-07 10:13:48浏览次数:7  
标签:洛谷 USACO15DEC ed Max cf 差分 lca now pres

传送门:P3128 [USACO15DEC] Max Flow P

首先要学会差分qwq

题目意思:

给定一个节点数为 \(n\) 的树,有 \(m\) 次操作。
每次操作给你两个数 \(s\) 和 \(t\),你需要在 \(s\) 到 \(t\) 的路径所经过点的运输压力 \(+1\)。
求最后运输压力最大的点的压力。

思路:

发现 \(s\) 到 \(t\) 的路径为 \(s\to lca(s,t)\to t\)
那么我们可以建立一个差分数组 \(cf\)
每次操作在 \(s\to lca(s,t)\) 和 \(t\to lca(s,t)\) 的路径经过的点上 +1,就是 \(cf_s+1\),\(cf_t+1\),\(cf_{lca(s,t)}-2\)

问题:

但是这样 lca(s,t) 相当于并没有 +1,为了解决这个问题,我们来看一张图:

现在所有的 \(cf\) 都是 \(0\)
此时我们想从 \(3\) 走到 \(1\)
很明显他们的 \(lca\) 为 \(4\),按照上面的方法:我们能够得到:

这时开始遍历

void pressure(int now,int fa)
{
	for(int i=fir[now];i;i=ed[i].next)
	{
		if(ed[i].v!=fa)
		{
			pressure(ed[i].v,now);
		}
		pres[now]+=pres[ed[i].v];
	}
}

可以得到:
\(pres_1=1\),\(pres_5=1\),\(pres_3=1\),\(pres_4=0\),\(pres_2=0\),\(pres_7=0\),\(pres_6=0\)
观察到:pres_4 的值只会影响到他的父亲节点 6 的值,那么我们可以:
\(cf_4-1\),\(cf_6-1\)
这样就能得出正确答案了喵~

最终思路:

每次询问求 s 和 t 的 lca,\(cf_s+=1\),\(cf_t+=1\),\(cf_{lca(s,t)}-=1\),\(cf_{lca(s,t) 的 fa}-=1\)
最后遍历整棵树求最大值。

代码

标签:洛谷,USACO15DEC,ed,Max,cf,差分,lca,now,pres
From: https://www.cnblogs.com/lazy-ZJY0307/p/18401396

相关文章

  • 洛谷 P3034 Cow Photography G/S——题解
    洛谷P3034题解传送锚点摸鱼环节[USACO11DEC]CowPhotographyG/S题面翻译题目描述今天的奶牛们特别调皮!FarmerJohn想做的只是给排成一排的奶牛拍照,但是在他拍下照片之前,奶牛们一直在移动。具体地说,FJ有\(N\)头奶牛(\(1\leqN\leq20\,000\)),每头奶牛都有一个唯一确......
  • 洛谷刷题之P1168
    中位数题目描述给定一个长度为NNN的非负整数序列AAA,对于前奇数......
  • 题解:SP3693 KGSS - Maximum Sum
    原题传送门思路分析线段树。这道题让我们进行两种操作,分别是单点修改和区间查询,结合数据范围,很明显是一道线段树。区间里最大的\(A_i+A_j\),其实就是求区间里的最大值和次大值,我们用线段树维护最大值和次大值。建树voidbuild(intnow,inttl,inttr){ if(tl==tr){ tmax......
  • 洛谷 P6419 [COCI2014-2015#1] Kamp
    洛谷P6419[COCI2014-2015#1]Kamp题意一颗树\(n\)个点,\(n-1\)条边,经过每条边都要花费一定的时间,任意两个点都是联通的。有\(K\)个人(分布在\(K\)个不同的点)要集中到一个点举行聚会。聚会结束后需要一辆车从举行聚会的这点出发,把这\(K\)个人分别送回去。请你回答,对......
  • 洛谷 P5658 [CSP-S2019] 括号树
    洛谷P5658[CSP-S2019]括号树题意给定一棵树,每个点有一个括号(或)。定义\(s_i\)表示根节点到\(i\)每个点的括号组成的序列。求每个\(s_i\)中合法括号子串的个数\(f_i\)。思路定义\(g_i\)表示\(s_i\)中以\(i\)结尾的合法括号子串的个数。有\(f_i=f_{fa_......
  • SciTech-Mathmatics-Physics-Particle+Movement-Election-The Maxwell Equations-Wave
    TheMaxwellEquations:电、磁、光StaticElectricFieldStaticMagneticFieldChangingElectricFieldChangingMagneticField......
  • Google Performance Max指南:优化广告的提示
    Google的PerformanceMax广告活动在三年多前结束测试阶段,已成为新手和有经验的营销人员中非常受欢迎的一种广告活动类型。在本文中,我们将详细解读GooglePerformanceMax广告活动是什么,它与其他广告类型的区别,优势和最佳实践,报告功能,广告优化技巧,以及Tinuiti的PMax方法。什么......
  • 【STM32项目设计】STM32F411健康助手--MAX30102 心率血氧传感器(5)
    硬件设计硬件连接MAX30102   STM32SDAPB7SCLPB6INTPB8GNDGND3V33V3软件设计max30102.c#include"max30102.h"#include"delay.h"u8max30102_Bus_Write(u8Register_Address,u8Word_Data){ /*采用串行EEPROM随即读取指令序列,连续读取若干字节*/ /*第1......
  • 洛谷题单指南-常见优化技巧-P3467 [POI2008] PLA-Postering
    原题链接:https://www.luogu.com.cn/problem/P3467题意解读:用长方形的海报覆盖建筑的侧面,最少需要的海报数如上图,左边最少需要3张,右边最少需要4张解题思路:可以看出,需要海报数与建筑宽度无关,只与高度有关。当建筑高度与之前不同时,肯定需要增加一张海报;当建筑高度与之前有相同......
  • SciTech-Mathmatics-Physics-Particle Physics-Election-The Maxwell Equations-Wave-
    TheMaxwellEquations:Election,Substances,Particle'sBrownMovementsAZD(AbsoluteZeroDegree):EachkindofparticlehasitswavewhenaboveAZD.TheMaxwellEquations:\(\large\begin{array}{llll}\\(\i\)&\bm{\nabla}\cd......