首页 > 其他分享 >插头dp

插头dp

时间:2023-04-23 20:13:32浏览次数:144  
标签:插头 连通 格子 轮廓线 考虑 dp

插头dp是什么,这里只有插头

image

在状态压缩动态规划中,有一类是需要记录若干个元素的联通情况,称之为基于连通性状态压缩的动态规划,也就是插头 dp

在大部分棋盘状压 dp 中,状态划分可以依据行或列进行划分,行列之间相对独立,但有时却不行,例如让你在棋盘中对联通块进行操作,下图的联通块是无法用上述的方法去记录的

image

这时便不能采用上述做法,只能考虑新做法

先讲几个概念

1.插头:对于一个4连通的问题来说,它通常有上下左右4个插头,一个方向的插头存在表示这个格子在这个方向可以与外面相连

2.轮廓线:已决策状态和未决策状态的分界线

考虑一题

给出 \(n\times m\) 的方格,有些格子不能铺线,其它格子必须铺,形成一个闭合回路。问有多少种铺法?(P5056

我们发现一个格子若在联通块内,则 4 个插头恰好有 2 个插头存在,即从一个格子进来,另一个格子出去,考虑一种逐格递推形式,则轮廓线会发生如下变化

image

考虑轮廓线应记录插头,分析一下轮廓线上的插头位置

image

这很好理解,轮廓线一下是未决策的点,已经决策的点都可以向未决策的点有一个插头

这已经很好的给出了状态转移方程的思路,令 \(dp_{i,j,S_0}\) 为到了 第 \(i\) 行,第 \(j\) 列,所有插头状态为 \(S_0\)

考虑 \(S_0\) 如何记录,如何表示
,先考虑回路的特点

以上图为例,轮廓线上方是由若干条互不相交的路径构成的,而每条路径的两个端口恰好对应了轮廓线上的两个插头,一条路径上的所有格子对应的是一个连通块,而每条路径的两个端口对应的两个插头是连通的而且不与其他任何一个插头连通,也就是说,在任何时候每一个连通分量恰好有2个插头,在考虑一条性质

轮廓线上从左到右4个插头 \(a,b, c, d\),如果 \(a, c\) 连通,并且与 \(b\) 不连通,那么 $ b, d$ 一定不连通

证明引用陈丹琦的论文

image

“两两匹配”,“不会交叉”这样的性质,我们很容易联想到括号匹配,则一条轮廓线之间,左插头一定可以与右插头一一对应,那么考虑一种括号表示法,用0表示无插头,1表示左括号插头,2表示右括号插头来记录下所有的轮廓线信息

这样,状态的储存也表示完毕,考虑如何转移,按格转移,令 \((i,j-1)\) 的右插头为 \(p\),\((i-1, j)\) 的下插头为 \(q\),$ (i, j)$ 的下插头为 \(x\),右插头为 \(y\),每次转移就是将 \(p\) ,\(q\) 改为 \(x\) ,\(y\)

1.\((i,j)\) 为障碍,显然不能有插头,即只有 \(p=0,q=0\) 才能转移至 \(x=0,y=0\)

2.新建一个插头,即 \(p,q=0\) 时令 \(x=1,y=2\)

3.只有向右插头,即 \(p\) 不为 \(0\) 且 \(q\) 为 \(0\) 时,由于没有可接的插头,只能将右插头延伸,可直走可拐弯,即 \(x=1,y=0\) 或 \(x=2,y=0\)

4.只有向下插头,同上,令 \(x=0,y=1\) 或 \(x=0,y=2\)

5.向右为左插头,向下为右插头,考虑从插头建立到最后闭合,显然是一个闭合回路,这种情况只能在最后一次转移出现,也只有这种情况能计入答案

6.向右为右插头,向下为左插头,则合并插头之后,该右插头对应的左插头和该左插头对应的右插头在消掉之后恰好匹配,也不需要执行其他改动,即令 \(x=0,y=0\)

7.两个都是右插头,在合并之后应将两个右插头对应的左插头设为匹配

8.两个都是右插头,在合并之后应将两个左插头对应的右插头设为匹配

标签:插头,连通,格子,轮廓线,考虑,dp
From: https://www.cnblogs.com/L-fire/p/17347583.html

相关文章

  • m基于BP译码算法的QC-LDPC误码率matlab仿真,对比不同译码迭代次数的误码率性能
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要       LDPC码是麻省理工学院RobertGallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能逼近香农极限,且描述和实现......
  • m基于BP译码算法的QC-LDPC误码率matlab仿真,对比不同译码迭代次数的误码率性能
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要LDPC码是麻省理工学院RobertGallager于1963年在博士论文中提出的一种具有稀疏校验矩阵的分组纠错码。几乎适用于所有的信道,因此成为编码界近年来的研究热点。它的性能逼近香农极限,且描述和实现简单,易于进行理论分......
  • IPV6-NDP邻居发现协议
    概述 NDP(NeighborDiscoveryProtocol,邻居发现协议)是IPv6的一个关键协议,它组合了IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进。   IPv6ND(IPv6NeighborDiscovery,IPv6邻居发现)协议使用五种类型的ICMPv6消息,实现下面一些功能:地址解析、验证邻居是否......
  • 云原生之部署wordpress博客及设置圣诞主题风格
    (云原生之部署wordpress博客及设置圣诞主题风格)一、前言1.本次实践目的1.使用docker部署wordpress网站2.配置圣诞主题风格2.wordpress介绍WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个......
  • 如何衡量并最大化CDP的ROI?
    成功的客户体验计划最重要的秘密配方是什么?根据全球百位商业领导者的调研结果,答案是:优质的数据。随着去年数字技术普及的爆发,许多企业争相寻求适应数字化,数据质量成为了他们关注的头等大事。然而不幸的是,许多企业缺乏正确的技术来应对不断增长的客户数据量和复杂度。与此同时,许多......
  • 如何科学地系统地提出CDP的RFP?
    商业的未来愈发数字化,也愈发复杂化。客户与品牌互动的方式比以往任何时候都多,为了管理所有这些互动数据,您需要一套可以不断扩展的工具。谁能够快速将这些数据转化为洞察,并最终营造卓越的客户体验,谁就可以在市场上创造持久的优势。客户数据平台(CDP)可帮助企业收集、标准化、统一和......
  • 3个迹象表明,企业是时候搭建CDP了!
    和过去任何时代相比,当下的数字化程度都更加深入,且还在持续加速的进程中。如今,客户数据的重要性已经毋庸置疑。企业应该如何应用数字化改进客户体验,以及由此产生的海量客户数据,已经成为新的焦点。许多企业通过使用客户数据平台(CDP),游刃有余地驾驭了众多品牌和客户的复杂数据。那么问......
  • CDP实操篇05:企业实施CDP前的准备
    在Martech爆发的2019年,Gartner曾发布数字营销和广告宣传周期报告,显示客户数据中台(CDP)可能改变营销人员对技术生态系统的运行方式。这一观点将CDP推向了数字化营销的浪潮之巅,不少企业都希望能采购一个CDP来实现营销效果的升华。但是,实施CDP并不像安装一套Office那么简单,企业需要考虑......
  • 【DP】LeetCode 91. 解码方法
    题目链接91.解码方法思路分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数组的动态规划问题中,一般dp[i]都是表示以nums以前i个元素组成(即nums[i-1])的状态;dp[i][j]分别表示以nums1前i个元素(即nums1......
  • [Linux]raspbian安装xrdp(远程桌面)
    1.首先换源:输入以下命令sudosed-i"s@http://deb.debian.org@https://mirrors.163.com@g"/etc/apt/sources.list2.update是更新软件列表,upgrade是更新软件。这两个命令一般是一起使用的。3.需要在Debian系统中安装xrdp,xrdpisadaemonthatsupportsMicrosoft'sRemote......