[ABC248F] Keep Connect Solution

更好的阅读体验戳此进入

题面

给定 n,p,存在如图的 2×n 的网格图,显然初始共有 2n 个顶点和 3n2 条边,分别求删除 i[1,n1] 条边后仍使图连通的删边方案数,对 p 取模。

Solution

这种题 DP 很显然,考虑设状态 dp(i,j,0/1) 表示考虑前 i 列,删除了 j 条边,第 i 列上下两点之间是否连边,然后对不同情况无脑进行分类讨论即可。

具体地,对于 dp(i,j,0),如下图,此时 i 位置两个点竖直方向并未连边,则为了保证连通性,那么 ii+1 的水平的两个边必须连上,而 i+1 的竖直的边(即虚线边)是否连结均合法,则有如下转移:

dp(i,j,0)dp(i+1,j+1,0)dp(i,j,0)dp(i+1,j,1)

Oops! The image is blocked! Please visit my own website to observe the image! 图片被墙了,请通过文章头的跳转链接访问!

对于 dp(i,j,1),如下图,三条边都不能直接确定,所以需要继续讨论,具体地,可以讨论 i+1 的竖直边是否连结,简单想一下就有如下 4 个转移,此处不多赘述,直接看方程吧。

dp(i,j,1)×2dp(i+1,j+1,1)dp(i,j,1)dp(i+1,j,1)dp(i,j,1)×2dp(i+1,j+2,0)dp(i,j,1)dp(i+1,j+1,1)

同时注意 ×2 是因为要枚举上下的两个水平边删掉其中一个。

Oops! The image is blocked! Please visit my own website to observe the image! 图片被墙了,请通过文章头的跳转链接访问!

边界可以是 dp(1,0,1)=dp(1,1,0)=1,对应删边数 d 的答案即为 dp(n,d,1)

Code

UPD

update-2022_11_21 初稿