状压dp
lleozhang
这个作者很懒,什么都没留下…
展开
-
2018.8.1 状压 CF482C 题解
noip2016考了一道状压dp,一道期望dp然而这题是状压期望dp...所以难度是什么,省选noi吗...怎么办...题目大意:给定n个字符串,甲从中任选出一个串(即选出每个串的概率相同为1/n),乙要通过询问甲选出的字符串pos位置上的字符是什么来确定这个串。然而由于有些字符串的一些位置上字符相同,所以可能不能通过一次询问达成目标。现在乙没有任何策略地进行随机询问,问乙能够...原创 2018-08-01 21:06:27 · 453 阅读 · 1 评论 -
hdu 6125 状压dp+分组
一道玄学题...其实一开始想的是对的,优化一下就好了首先我们会发现,乘积不能被完全平方数整除等价于所有因子的每个质因子个数和都至多为1可是500以内的质数很多,全找出来会爆炸的可我们会发现,如果一个数的平方会在500以内,那么这个数一定<=22!所以,1~500中会存在的完全平方数的质因子一定在22以内这些质数只有八个,所以我们可以找出来至于剩下的部分,显然23和...原创 2018-08-16 20:39:49 · 226 阅读 · 0 评论 -
CF 449D 题解(状压+容斥)
状压妙啊...本题的主体思路:状压+容斥原理(或状压+数位dp)记g[i]表示按位与后结果所有位上至少有i个1的方案数那么根据容斥原理,ans=g[0]-g[1]+g[2]-g[3]+g[4]...于是如果我们求出了g,就可以求出ans可是怎么求出g呢我们记f[i]表示a&i==i这样的a的个数,那么如果i某一位上为1,则a这一位上也为1于是我们可以枚举所有可能...原创 2018-08-17 09:03:02 · 477 阅读 · 0 评论 -
bzoj 2669 题解(状压dp+搜索+容斥原理)
这题太难了...看了30篇题解才整明白到底咋回事...核心思想:状压dp+搜索+容斥首先我们分析一下,对于一个4*7的棋盘,低点的个数至多只有8个(可以数一数)这样的话,我们可以进行一个状压,把所有的低点压进来然后我们从小到大枚举所有数,转移即可记状态f[i][j]表示到了第i个数,低点的状态为j的方案数那么在转移的时候,有两个转移方向:①.如果第i个数放在低点上,那么...原创 2018-08-17 15:57:49 · 186 阅读 · 0 评论 -
雅礼 noip2018 模拟赛day3 T2
典型的状压思想设0表示黑球,1表示白球,用一串01序列代表剩下的球的状态,记f[i]表示在i状态下取球的最大期望那么可以利用记忆化搜索更新,每一层枚举可能拿走的球然后向下搜索,同时记忆化即可在状态中删去一个点可以利用位运算实现同时要注意一个问题,就是状态0010和状态010并不是相同的状态,但是如果不做处理在记忆化的过程中很可能把他俩算成相同的状态,所以我们在初始状态最前面放一...原创 2018-10-22 18:54:52 · 274 阅读 · 0 评论 -
bzoj 1495
这是一道...卡了我一个月的树形dp...我真是太弱了...其实仔细想想,这题的核心思路并不是特别复杂,但是的确存在不小的难度作为一个看过全网基本所有题解+标程才弄明白这题到底怎么回事的蒟蒻,我努力把所有东西揉到一起让各位看官一眼看懂...首先我们简化一下题意:给定一棵满二叉树,每个叶节点有一个状态(0,1),任选两个叶节点,如果这两个叶节点状态相同但他们的LCA所管辖的子树中的与...原创 2018-10-29 20:30:42 · 164 阅读 · 0 评论 -
noip 2018模拟赛2018.10.29 T2 obelist
又是一道玄学题...题解:看到数据范围,显然是状压dp那么我们来设计一下状态设dp[i]表示目前选择的点集为i所能获得的无环子图个数那么如果要求无环,这还是个有向图,所以我们可以将新的子图按拓扑序分层,然后枚举每一层的状态进行转移所以最浅显的思想就是记录整个点集的状态,同时记录最底层的状态,然后用最底层的状态进行转移,转移时只要求新的层与底层均有连边即可但是这样做时...原创 2018-10-29 21:08:07 · 267 阅读 · 0 评论 -
bzoj 1076
发现自己已经把期望dp忘光了...其实本质上非常简单,就是利用状压的思想跑期望首先很容易设计出状态:记状态f[s][i]表示到了第i个点,之前已选过的点的状态为s时所能获得的最大期望得分但是会发现这样做没法转移(你可以试一下,我做了半个点做得原地爆炸)但是我们知道,期望dp常见的策略是从后向前,逆向转移所以我们修改一下状态:记状态f[s][i]表示到了第i个点选的点集为s时,i...原创 2018-11-03 08:07:31 · 184 阅读 · 0 评论