第三场积分赛 yky出题部分 解题报告
CraaazyShep · · 个人记录
负责了比较有强度的三道题,非常对不起大家!!!or2
I 为无机世界增添色彩
原题:P6111 [USACO18JAN] MooTube S
关键词:dfs。
注意到数据范围非常友好,可以支持
所以对于每次询问,我们都做一次以
本题另有数据范围增强的版本:P4185 [USACO18JAN] MooTube G,感兴趣的话也可以去看一眼。
H 旅行伙伴加入了哦
原题:P4568 [JLOI2011] 飞行路线
关键词:分层图最短路。
这里介绍一种处理最短路问题时,常会用到的建图方法:分层图。
分层图,顾名思义,会在图原本的基础上额外多建几层,以便满足题目中的一些特殊限制或者要求。
我们以本题为例,在最基础的最短路问题上,这一题多加了一个特性:可以选择一条边,使它的边权暂时变为 0 并通过。那么我们不妨将建出一个
比如根据样例中的数据,我们就可以建出如下的图:
其中在每条边上,都向下一层伸出一对单向的,边权为
那么建好图后,事情就非常简单了:依旧以第
分层图的思想是非常巧妙的,感兴趣的话,下面是两道练习题:
CF2014E Rendez-vous de Marian et Robin
2025杭电多校第一场 1005 传送门(无法评测)
D 人好猫坏
改编自:CF559C Gerald and Giant Chess 和 P1002 [NOIP 2002 普及组] 过河卒
关键词:DP,容斥,组合计数。
老题新做,注意到虽然棋盘盘面变得非常大,但马的控制点(或者我们统称做障碍)却依然很少,不妨从每个障碍上下手。
如何统计不经过任何障碍,到达终点的路径数呢?直接统计是非常不现实的,所以我们可以考虑首先算出不考虑障碍的情况下,到达终点的所有路径数(通过组合数可以很快计算),然后再减去经过了障碍点的情况。
为了统计这些障碍点的情况,我们不妨先把所有的障碍点,按照先根据
对于每个障碍点
具体来讲,假设我们枚举到了
反之,则将
枚举完前
为了方便处理,我们不妨把
为了更快地计算组合数,需要预处理出到
预处理复杂度为
本题的主要做法同时也是 2025 ICPC 武汉邀请赛 G Path Summing Problem 的一部分。感兴趣的话可以去看看这道硬控了我们三小时的题。