首页 > 其他分享 >插头 DP

插头 DP

时间:2024-07-05 09:58:02浏览次数:9  
标签:插头 格子 标记 障碍 转移 DP

插头 DP

定义

基于连通性状态压缩的 DP.

一个方向的插头存在表示这个格子在这个方向可以与外面相连。

状态

一个 \(n \times m(n, m \le 12)\) 的棋盘,有的格子是障碍,问共有多少满足要求的回路?

本题中,所有非障碍格子一定是从一个插头进、一个插头出,刚好用两个插头,方案数为 \(C_4^2=6\) 种.

  • 按照从上到下的顺序依次考虑每一行。
  • 分析第 \(i\) 行那些信息对第 \(i+1\) 行有影响,记录第 \(i\) 行的每个格子是否有下插头,这决定了第 \(i+1\) 行的每个格子是否有上插头。
    image
    image
  • 给每个格子标记一个数,同一个连通块标记相同的数,比如 \({2, 2, 1, 1}\) 表示格子 \(1, 2\) 和 \(3, 4\) 分别在两个连通块内。通常使用最小表示法对格子进行标记。
  • 一种最小表示法为:所有的障碍格子标记为 \(0\),第一个非障碍格子以及
    image
    image

优化

image

转移

假设从第 \(i\) 行转移到第 \(i+1\) 行,可以枚举第 \(i+1\) 行的每个格子的状态,对于任何一个非障碍格子,它是否有上插头和左插头已知,因此最多只有两种情况,状态的转移数 \(\le 2^n\).

image

逐格递推

image

image

image

转移

image

例题

标签:插头,格子,标记,障碍,转移,DP
From: https://www.cnblogs.com/Heartquakes/p/18285062

相关文章

  • Intel DPC++安装与使用
    IntelDPC++安装与使用 DPC++(DataParallelC++)是Intel公司使用oneAPI实现的SYCL和SYCL编译器,这里记录一下V100服务器安装DPC++过程下载安装DPC++编译器前往官网下载地址,左侧选择Compilers->Intel®oneAPIDPC++/C++CompilerandIntel®C++CompilerClassic,选择目前最......
  • WPF Datagrid ContextMenu MenuItem Command CommandParameter MultiBinding
     //xaml<Windowx:Class="WpfApp194.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas......
  • UDP套接字基础总结
    最近和同学做一个有趣的实验,大致场景是:将摄像头连接到树莓派上,在树莓派上编写代码来捕获摄像头传回的数据。在这个场景中,树莓派是服务器端,摄像头是客户端,传递数据采用的协议是UDP。实验过程中发现自己对UDP套接字的使用有些不熟练,于是做一个总结。编程语言采用C,参考资料为《TCP/I......
  • CF1039D You Are Given a Tree (树形 dp + 贪心 + 根号分治)
    CF1039DYouAreGivenaTree树形dp+贪心+根号分治题目是一个经典问题,可以用树形dp和贪心解决。设\(f_u\)表示以\(u\)节点为端点能够剩下的最长路径。考虑从叶子节点往上合并贪心,那么如果能够合并出包含\(u\)节点的大于等于\(k\)的路径,那么就合并,\(f_u=0\);否......
  • DP1
    T1AtcoderABC217FMakePair考虑区间dp,\(dp[l][r]\)表示消完区间\([l,r]\)中所有人的方案数,转移枚举分界点,如果\(l\)和\(r\)有朋友关系则再从\(dp[l+1][r-1]\)转移。但是这样会算重,所以再加一维\(0/1\)表示这个区间是否封闭(不是由两个区间拼起来),这样就可以......
  • DAG上的DP
    DAG是有向无环图而DAG的dp主要是利用一些问题的二元关系构造DAG图建模,转化成在图上求最长/短路的问题https://www.luogu.com.cn/problem/UVA437Code点击查看代码#include<bits/stdc++.h>usingnamespacestd;//typedeflonglongll;#defineintlonglongtypedefuns......
  • AT_dp_y Grid 2 题解
    题目传送门前置知识计数DP|排列组合解法正难则反,考虑求出总方案数和至少经过一个黑色格子的方案数,二者作差即为所求。强制增加一个黑色格子\((h,w)\),使得存在一条至少经过一个黑色格子的路径。如果没有“不能移动到黑色格子中”的限制,那么就是一个简单的格路计数问题,方......
  • 基于GWO灰狼优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下(完整代码运行后无水印):     2.算法涉及理论知识概要       LDPC码是一种线性错误修正码,以其接近香农极限的优良性能而被广泛应用于现代通信系统中。NMS译码是一种基于最小平方误差准则的软判决译码方法,其目标是找到一......
  • CF 1981 D. World is Mine (*1800) DP+博弈论
    CF1981D.WorldisMine(*1800)DP+博弈论题目链接题意:有\(n\)个蛋糕,每个蛋糕有一个美味值\(a_i\),\(Alice\)和\(Bob\)轮流吃蛋糕,\(Alice\)每次必须选择吃严格大于之前所吃的蛋糕美味程度。\(Bob\)随意选择。有人没有蛋糕可以吃时,游戏结束。\(Alice\)想吃更多......
  • python编写使用xmlrpc上传wordpress网站文章的程序
    1、安装库        pipinstallpython-wordpress-xmlrpc,tkinter,xmlrpc,json2、发布文章url="http://域名/xmlrpc.php"username=用户名password=密码title=标题content=内容tags=标签categories=分类client=C......