首页 > 其他分享 >jumping sol.md

jumping sol.md

时间:2024-08-30 13:14:32浏览次数:11  
标签:md sol fa jumping 关键 lca ls dp rightarrow

首先,如果你做过 BZ \(2144\)​,你可以发现一共只有:

  • 中间的往左跳。
  • 中间的往右跳。
  • 两边的往中间跳。

第三个是对称的,我们不妨设他是 \(fa\),前两个一个 \(ls\),一个 \(rs\)。那么我们有一棵二叉树,现在要问从一个点到另一个点方案数。两个点设为 \(a,b\)。

和 \(2144\) 不同的是,\(k=100\) 非常的小。这个 \(\mathcal{O}(k^3)\) 都可以。

容易发现,离 \(a,b\) 太远的我们管都不用管。

有一种从 \(a\rightarrow b\) 的方法,就是 \(a\rightarrow lca(a,b)\rightarrow b\),所以有一个想法是设 \(dp_{i,j}\) 为我们现在用了 \(i\) 步,在 \(j\) 深度方案数,但是我们发现这个有时候对不上。还有一个想法是设 \(dp_{node,i}\) 为我们现在在 \(node\) 节点,走了 \(i\) 步,但是状态数太多,很大便。

所以,尝试合并两种思路?我们发现有一个关键的路径(在 \(lca(a,b)\rightarrow b\) 尤其关键),就是 \(a\rightarrow lca(a,b)\rightarrow b\)。为啥关键呢?考虑一个不在关键路径上的点,只有可能往上走才能到关键路径。而:

  • \(a\rightarrow lca(a,b)\) 这一段,我们拐到 \(lca(a,b)\) 之前要在关键路径上。
  • \(lca(a,b)\rightarrow b\) 这一段,我们必须在关键路径上才可以到 \(b\)。

还有一个比较重要的性质,就是(因为一个不在关键路径上的点,只有可能往上走才能到关键路径),所以所有这种不关键的点我们只需要记录到关键点的距离,其他的信息不重要(这里有一点 \(2001E\) 的感觉)。

所以我们就有新的 \(dp_{i,j,k}\) 为:我们在关键点 \(i\) 子树内,和 \(i\) 距离 \(j\),目前走了 \(k\) 步。转移比较简单。具体的:

  • 若 \(j=0\),则可以到 \(ls,rs,fa\);如果 \(ls\) 是关键点则 \(dp_{i,0,k}+=dp_{ls,0,k-1}\),否则 \(dp_{i,0,k}+=dp_{ls,1,k-1}\),\(rs\) 同理(注意 \(fa\) 一定是关键点,如果有 \(fa\) 的话。有 \(fa\) 的条件是三个棋子不是等差数列)。
  • 否则我们可以往下 \(j\leftarrow j+1\),或者往上 \(j\leftarrow j-1\)。注意往下有两个儿子,加贡献的时候要 \(\times 2\)。

还有一个小细节。就是如果 \(a\rightarrow lca(a,b)\rightarrow b\) 长度 \(<k\),我们还有可能会走到 \(lca(a,b)\) 上面再回来。因此我们设 \(2k\) 个关键点,分别是 \(a,b\) 的 \(0\sim k-1\) 级祖先即可。

dp 用记忆化搜索比较好写。时间复杂度 \(\mathcal{O}(k^3)\)。

标签:md,sol,fa,jumping,关键,lca,ls,dp,rightarrow
From: https://www.cnblogs.com/SFlyer/p/18388562

相关文章

  • 7.3 CANYONING TECHNIQUE:JUMPING
    7.3JUMPINGOVERVIEWTimetofly!Jumpingisoneofthemostfunthingswedoincanyoning.It’softenthereasonpeopleareattractedtothesportinitially,becauseofthehighthrillfactor.Butlet’srememberalthoughjumpingissuperfunfor......
  • MDST150-16-ASEMI机床专用整流模块MDST150-16
    编辑:llMDST150-16-ASEMI机床专用整流模块MDST150-16型号:MDST150-16品牌:ASEMI封装:MDST批号:2024+分类:整流模块特性:整流模块、整流桥平均正向整流电流(Id):150A最大反向击穿电压(VRM):1600V恢复时间:>2000ns结温:-40℃~150℃正向峰值电压:1.05V~1.30V引脚数量:8芯片个数:7芯片尺寸:MILMDST150-16特......
  • Comsol&Matlab 扩张式消声器理论解及仿真解
    简单扩张式消声器是工业中广泛采用的一类抗性消声器。扩张式消声器是一种常见的声学装置,用于减少噪音和消除声音的回声。它通常由一系列管道和腔体组成,通过利用声波的传播特性来实现消声效果。扩张式消声器的工作原理基于声波的干涉和相消干涉。当声波进入消声器的管道时,管道......
  • Comsol&Matlab 两级串联扩张式消声器仿真解与解析解
        消声器的声学性能通常要求消声器在工作频率范围内有较大的消声量以及较宽的消声频带。常用的消声器声学性能评价指标通常有传递损失、插入损失、减噪量三种。其中插入损失只能反映整个系统在安装消声器前后声学特性的变化,并不能直接反映消声器本身单独具有的属性。减......
  • MDS100-16-16-ASEMI三相整流模块MDS100-16
    编辑:llMDS100-16-16-ASEMI三相整流模块MDS100-16型号:MDS100-16品牌:ASEMI封装:M18批号:2024+类型:整流模块电流:100A电压:1600V安装方式:直插式封装特性:大功率、整流模块产品引线数量:5产品内部芯片个数:6产品内部芯片尺寸:MIL工作结温:-40℃~150℃功率:大功率包装方式:500/盒:3000/箱MDS100-16应......
  • MDS100-16-16-ASEMI三相整流模块MDS100-16
    编辑:llMDS100-16-16-ASEMI三相整流模块MDS100-16型号:MDS100-16品牌:ASEMI封装:M18批号:2024+类型:整流模块电流:100A电压:1600V安装方式:直插式封装特性:大功率、整流模块产品引线数量:5产品内部芯片个数:6产品内部芯片尺寸:MIL工作结温:-40℃~150℃功率:大功率包装方式:500/盒:3......
  • MDQ100-16-ASEMI单向整流模块MDQ100-16
    编辑:llMDQ100-16-ASEMI单向整流模块MDQ100-16型号:MDQ100-16品牌:ASEMI封装:M18批号:2024+分类:整流模块特性:整流模块、整流桥平均正向整流电流(Id):100A最大反向击穿电压(VRM):1600V恢复时间:>2000ns结温:-40℃~150℃正向峰值电压:1.05V~1.25V引脚数量:4芯片个数:4芯片尺寸:MILMDQ1......
  • 为什么cmd的cd命令切换目录必须加/d参数,否则无法跳转
    在命令提示符(CMD)中,使用cd命令切换目录时不一定必须加/d参数。不加/d参数时,cd命令通常只能在同一磁盘驱动器内切换目录。例如,如果当前目录在C盘,使用cd命令切换到C盘的其他目录是可以正常工作的,但如果要切换到D盘的某个目录则会失败。而加上/d参数后,就可以跨磁盘驱动......
  • 结构开发笔记(六):solidworks软件(五):绘制M2x3.0mm螺丝
    前言  绘制36x36方块摄像头模型中的方块摄像头,用到了2个M2x3.0mm螺丝。  本篇描述其详细绘制方法。 绘制螺丝步骤一:绘制螺纹柱  先把螺纹柱体绘制出来,绘制草图    圆直径2mm,高度3.0mm,用螺纹住满足M2x3.0mm。      添加螺纹:    ......
  • AMD在新的MLPerf基准测试中缩小了与Nvidia的差距
    AMD、UntetherAI、Google、Intel和Nvidia的新基准测试结果显示,AI硅片性能竞争日趋激烈。然而,系统设计、网络和软件使AI大放异彩,而这正是Nvidia的强项。终于,我可以停止抱怨AMD缺乏公开的AI基准测试了。AMD发布了其MI300GPU的优秀MLPerf推理结果,虽然只在一个基准测试上与Nvidi......