DP设状态 : 状压与线
[NOIP2017]宝藏(状压)
[AHOI2009]中国象棋(状压)
[BZOJ1814] URAL1519 Formula 1(插头\(DP\)模板)
新链接 : Luogu5056 , darkbzoj1814
代码借鉴 : Icefox
[BZOJ1187] HNOI2007 神奇游乐园(插头\(DP\))
Luogu3190
由找方案数变成了找最大值
[HDU1693] Eat the Trees(插头\(DP\))
Luogu5074
求闭合方案数
设 \(f[i][j][k]\) 表示做完第 \(i\) 行 , 第 \(j\) 列 , 目前那 \(m+1\) 个插头的选取二进制状态为 \(k\) 的方案数 .
初始值 : \(f[0][m][0]=1\)
每行继承值 : \(f[i][0][k<<1]=f[i−1][m][k] , k∈ [0,2m)\)
因为上一行最后一个位置不能有未闭合的插头!
转移 : 若位置 \((i,j)\) 有障碍 , 则看能否从前一格继承过来 , 不能就只能是\(0\)了 .
若无障碍 , 则肯定有转移 : \(f[i][j][k]+=f[i][j−1][k\bigoplus(1<<(j-1))\bigoplus(1<<j)]\)
如果符合条件 , 还能继承结果 : \(f[i][j][k]+=f[i][j−1][k]\)
答案 : \(f[n][m][0]\)
[SCOI2011]地板(插头\(DP\))
分六种情况讨论 , 详见原题解
[九省联考2018]一双木棋(轮廓线&搜索)
这题的搜索做法是对每一个状态\(hsah\)存下答案
轮廓线做法 : 用 \(1\) 表示竖着的轮廓边 , \(0\) 表示横着的轮廓边
然后可以发现 , 状态的转移就是把其中一个 \(1\) 向左挪一个位置即可 \(01−>10\)
然后发现转移的顺序不太明显 , 所以用记忆化搜索 , 反过来写便于理解一些
[ZJOI2007]棋盘制作(悬线法)
[WC2008]游览计划(斯坦纳树)
[JLOI2015]管道连接(斯坦纳树)
[FJOI2017]矩阵填数(扫描线)
\(1.\)离散化出每一块内部不互相影响的块
\(2.\)\(dp[i][j]\)为前 \(i\) 种重叠块其中有 \(j\) 这些状态的矩阵的最大值被满足了的方案数 , 这样转移就之和这个块有关了 , 直接计算取最大值和不取的方案数即可
则当取最大值时,把对应方案数转移到 \(dp[i + 1][j | s[i + 1]]\),否则转移到 \(dp[i + 1][j]\)
故 \(dp[Bcnt][(1 << n) - 1]\)为最终的方案
DP设状态 : 状压与线的更多相关文章
- 2018.08.19 NOIP模拟 dp(二分+状压dp)
Dp 题目背景 SOURCE:NOIP2015-SHY-10 题目描述 一块土地有 n 个连续的部分,用 H[1],H[2],-,H[n] 表示每个部分的最初高度.有 n 种泥土可用,他们都能覆盖连续 ...
- SPOJ - BALNUM Balanced Numbers(数位dp+三进制状压)
Balanced Numbers Balanced numbers have been used by mathematicians for centuries. A positive integer ...
- [NOIP2017] 宝藏 【树形DP】【状压DP】
题目分析: 这个做法不是最优的,想找最优解请关闭这篇博客. 首先容易想到用$f[i][S][j]$表示点$i$为根,考虑$S$这些点,$i$的深度为$j$情况的答案. 转移如下: $f[i][S][j ...
- 洛谷 P1278 单词游戏 【状压dp】
题目描述 Io和Ao在玩一个单词游戏. 他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致. 游戏可以从任何一个单词开始. 任何单词禁止说两遍,游戏中只 ...
- 【洛谷4045】[JSOI2009] 密码(状压+AC自动机上DP)
点此看题面 大致题意: 给你\(n\)个字符串,问你有多少个长度为\(L\)的字符串,使得这些字符串都是它的子串.若个数不大于\(42\),按字典序输出所有方案. 状压 显然,由于\(n\)很小,我们 ...
- 状压DP(超详细!!!)
一.定义 总述 状态压缩动态规划,就是我们俗称的状压DP,是利用计算机二进制的性质来描述状态的一种DP方式. 很多棋盘问题都运用到了状压,同时,状压也很经常和BFS及DP连用. 状压dp其实就是将状态 ...
- 状压dp大总结1 [洛谷]
前言 状态压缩是一种\(dp\)里的暴力,但是非常优秀,状态的转移,方程的转移和定义都是状压\(dp\)的难点,本人在次总结状压dp的几个题型和例题,便于自己以后理解分析状态和定义方式 状态压缩动态规 ...
- 状压dp入门
状压dp的含义 在我们解决动态规划题目的时候,dp数组最重要的一维就是保存状态信息,但是有些题目它的具有dp的特性,并且状态较多,如果直接保存的可能需要三维甚至多维数组,这样在题目允许的内存下势必是开 ...
- [NOI2001]炮兵阵地 【状压DP】
#\(\color{red}{\mathcal{Description}}\) \(Link\) 司令部的将军们打算在\(N \times M\)的网格地图上部署他们的炮兵部队.一个\(N \time ...
随机推荐
- css二阴影+第三维度z-index
<span style="text-shadow: 3px 3px 1px #888;">shadowed</span><span style=&qu ...
- php扩展开发1--添加函数
目标:便携php扩展 要求实现 输出hello word 首先用的是php7.0.3 centos7.1或者centos6.+ 1.1 RPM安装PHP rpm -Uvh https://mirr ...
- vim 添加插件
vim 的功能可以通过向它添加plugin得以扩展.所谓的plugin不过是一个vim会自动载入执行的脚本.把一个脚本放到你的plugin目录就可以了,非常容易. plugin基本上分为两类: 全局 ...
- js(jquery)右键菜单插件的实现
今天开发一个项目的时候需要一个模拟鼠标右键菜单的功能.也就是在网页点击鼠标右键的时候不是弹出系统的菜单而是我们制定的内容.这样可以拓展右键的功能.实现过程不多说了,写出来的代码和效果如下: js部分: ...
- Docker安装和使用Tomcat
1.搜索Tomcat镜像 docker search tomcat 2.下载Tomcat官方镜像 docker p ...
- Robot Framework - 基础关键字 BuiltIn 库(二)
本篇教程,我们继续接着上篇内容进行讲解,我们本节教程讲解的是Robot Framework 机器人框架中的变量中使用判断.字符串的拼接.Evaluate的用法.调用Python文件.条件分支语句.以及 ...
- (转)什么?你还不会写JQuery 插件
原文地址:http://www.cnblogs.com/joey0210/p/3408349.html 前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jque ...
- telerik 值得学习 web mvc 桌面 控件大全
http://www.telerik.com http://www.dxper.net/forum-70-1.html http://www.dxper.net/forum.php
- 再次迷宫救人——BFS
原创 上次用DFS解了迷宫救人:https://www.cnblogs.com/chiweiming/p/9313164.html 这次用BFS(广度优先搜索),实现广度优先搜索比深度优先搜索复杂,思 ...
- 尝鲜.net core2.1 ——编写一个global tool
本文内容参考微软工程师Nate McMaster的博文.NET Core 2.1 Global Tools 用过npm开发都知道,npm包都可以以全局的方式安装,例如安装一个http-server服务 ...