首页 > 其他分享 >Road of the King

Road of the King

时间:2023-09-28 21:34:48浏览次数:33  
标签:King 联通 times Road 移动 dp

2023-09-28

题目

Road of the King

难度&重要性(1~10):8.5

题目来源

luogu

题目算法

(纯)dp

解题思路

一道非常好而有意思的题目,码量巨短。
首先观察数据范围,发现是 \(n\le 300\),考虑 \(O(n^3)\) 的 dp。
主要的难点在于如何去判断是否是强联通的。我们知道,dp 是非常难以去记录转移状态的,更何况还要判断是否强联通。
同时这道题只要求 \(O(n^3)\) 的时间复杂度,我们就可以考虑去把这个强联通的条件直接放进 dp 的状态里面。
那么既然考虑将强联通分量放进状态里面去那么就需要我们仔细的考虑这个强联通的性质来转移了。
我们不难发现一下几条简单的证明显然的性质:

  • 如果我新移动到的点是我以前经过的点且是与点 \(1\) 是强联通的,那么整个经过的结点就都是与点 \(1\) 强联通的。
  • 如果我新移动到的点是我以前到过的点,那么一定会形成一个强联通子图。
  • 如果我新移动到的点是我从没有到过的点,那么一定不会与其他点强联通。

好了,我们知道这些性质之后就可以轻松的得到 dp 状态以及转移了。
我们记 \(f_{i,j,k}\) 表示当前已经经过了 \(i\) 个结点,走了 \(j\) 步,存在 \(k\) 个结点与点 \(1\) 是强联通的(包括点 \(1\))。
转移方程就是:

\[\begin{aligned}f_{i+1,j+1,k} & +=f_{i,j,k}\times (n-i)\\f_{i,j+1,k} & +=f_{i,j,k}\times (i-k)\\f_{i,j+1,i} & +=f_{i,j,k}\times k\end{aligned} \]

这里解释一下为什么这么转移:

  • 当新移动到的点是我从没有到过的点,则这时就有 \(n-i\) 种点可供选择。
  • 当新移动到的点是我以前经过的点,但不与点 \(1\) 强联通时,有 \(i-k\) 个点可以选择。
  • 当新移动到的点是与点 \(1\) 强联通的,那么所有 \(1\sim i\) 就都是与点 \(1\) 强联通的,有 \(k\) 个点可以选择。

然后这道题就 A 了,对没有任何优化,非常有意思也很暴力的 dp。

完成状态

已完成

标签:King,联通,times,Road,移动,dp
From: https://www.cnblogs.com/OIerBoy/p/17736526.html

相关文章

  • HPE Aruba Networking:网络在协调科技创新和安全风险之间扮演关键角色
    来源:ZAKER科技生成式人工智能(AI)等新兴技术正在引领企业步入创新时代,而企业也需不断地发展网络,以确保安全地推动创新发展印尼巴厘岛-2023年9月26日-根据HPEArubaNetworking(NYSE:HPE)的研究报告显示,64%的IT领导者认为网络安全问题已成为阻碍企业创新技术投资意愿的因素之一。这......
  • Standard E-96 series Resistance Value code (for 0603≤±1% marking)
     ValueCodeValueCodeValueCodeValueCode10001178253164956273102021822632450576741050318727332515907510704191283405260476110051962934853619771130620030357546347811507205313655564979118082103237456......
  • skywalking 安装部署与使用
    springcloud3篇文章0订阅订阅专栏1、下载SkyWalkingapm和agent下载地址:https://skywalking.apache.org/downloads/https://archive.apache.org/dist/skywalking/8.8.0/wgethttps://archive.apache.org/dist/skywalking/9.1.0/apache-skywalking-apm-9.1.0.tar.gztarxfap......
  • kingbaseES主备集群添加/删除节点
    测试环境 IPVIPOSDB主库168.3.1.212168.3.1.214rhel7.6KingbaseESV008R006C007B0012备库1168.3.1.213168.3.1.214rhel7.6KingbaseESV008R006C007B0012备库2168.3.1.215168.3.1.214rhel7.6KingbaseESV008R006C007B0012测试记录1.检查当前集群状态是否正常repmgrclustershow2.......
  • module开发过程tree_ shaking
    module开发过程tree_shakingmodule开发可以实现tree-shaking注意事项❓:什么情况下就会tree-shaking?......
  • kingbaseES主备集群切换
    测试环境 IPVIPOSDB主库168.3.1.212168.3.1.214rhel7.6KingbaseESV008R006C007B0012备库168.3.1.213168.3.1.214rhel7.6KingbaseESV008R006C007B0012SWITCH_OVERswitch_over指人为的计划性的切换.1.确认节点信息node1是主库,node2是备库.2.确认主备是否有延迟当前备库没有延迟3.......
  • ## Could not find a working installation of Boost.
     001、问题 002、解决方法(base)[root@pc1MaSuRCA-3.3.1]#yum-yinstallboostboost-devel(base)[root@pc1MaSuRCA-3.3.1]#yum-yinstallgcc-c++.x86_64gperf 参考:https://code84.com/754823.html ......
  • kingbaseES单机安装
    测试环境地址系统版本架构168.3.1.212rhel7.6v8.6单实例测试步骤关闭防火墙和selinuxsystemctlstopfirewalldsystemctldisablefirewalldsed-i's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config修改系统内核cat>>/etc/sysctl.conf<<eofkernel.shmmax=......
  • kingbaseES读写分离集群搭建
    测试环境 IPVIPOSDB主库168.3.1.212168.3.1.214rhel7.6KingbaseESV008R006C007B0012备库168.3.1.213168.3.1.214rhel7.6KingbaseESV008R006C007B0012测试记录1.操作系统配置该步骤主库和备库都必须执行.systemctlstopfirewalldsystemctldisablefirewalldsed-i's/SEL......
  • CodeForces 1149D Abandoning Roads
    洛谷传送门CF传送门考虑一条\(1\toi\)的路径是否在最小生成树上。称边权为\(a\)的边为轻边,边权为\(b\)的边为重边。轻边若不成环则一定在最小生成树上,因此先把轻边合并,这样形成了若干连通块。那么如果两点在一个连通块,它们只能通过轻边互达。同时,因为是树上路径,所......