随笔分类 - 思想——状态压缩(状压DP/轮廓线DP/DP套DP)
摘要:如果有线性代数基础的话会更易理解。推荐配合本人的线性代数学习笔记食用。 线性基是针对某个序列生成的一个集合,它具有以下两条性质: 线性基中任意选择一些数的异或值所构成的集合,等于原序列中任意选择一些数的异或值所构成的集合。 线性基是满足上述条件的最小集合。 有了上面这两条性质,我们便可以得出如下几条
阅读全文
摘要:VII.软件补丁问题 这题一眼看到那恶心的限制觉得是状压,一看那的范围更觉得是状压,想了网络流没想出来,看了标签发现里面居然只有状压一个QaQ!!! 因此便用Dijkstra维护状压进行转移就水过去了QaQ。 鬼知道为什么一道状压会出现在网络流24题里面啊QaQ! 代码:
阅读全文
摘要:IX.[CERC2016]二分毯 Bipartite Blanket 二分图的重要定理:霍尔定理(Hall's Theroem)的应用。 霍尔定理:二分图 存在完美匹配,当且仅当 \(\forall s\subseteq S,|s|\leq |E_s|
阅读全文
摘要:这里是SOSDP(子集DP)、高维前缀和、FMT(快速莫比乌斯变换)、FWT(快速沃尔什变换)学习笔记。 在接下来的讲解中,我们将会发现前三个东西是本质相同的,而最后一个东西是其扩展。 本博客在半年前就已经有计划去写了,只不过当时题目较少没能如愿。现在攒了几道题,开始动笔。 引入 我们首先来看一道最
阅读全文
摘要:CLVII.[LOJ#2372]「CEOI2002」臭虫集成电路公司 考虑轮廓线DP。因为有 的矩形存在,所以要压两行。又因为两行的状态只有可能是 00,01,10 之一,所以压三进制。又因为卡空间,所以要滚动数组。时间复杂度 。 代码: #incl
阅读全文
摘要:CXLII.CF1158F Density of subarrays 题解
阅读全文
摘要:CXXXV.[ZOJ3989]Triangulation 神题。 这个数据范围很难不让人想到状压DP。于是我们考虑应该怎么设计状态。 考虑一组三角剖分的形态:其必定是在所有点所构成的凸包内部划分出很多三角形。这也就表明,任何一组三角剖分一定包含所有凸包上的边。 我们可以想到一个比较简洁的DP:设 \
阅读全文
摘要:CXXXIV.[BZOJ3864]Hero meet devil 我们不妨从最trival的LCS问题上想起:暴力的LCS求法是什么? 设 表示一个串(不妨设为本题中要填的字符串 )的前 位与另一个串(即题目中给出的 )的前 位所构成
阅读全文
摘要:CXXXIII.[HDU6094]Rikka with K-Match 依旧wqs二分。 首先,依据我们之前提到过的一个性质,“凡是可以表示成费用流模型的东西都有凹凸性”,本题也不例外,关于匹配个数的函数是凹的。 凹的就可以wqs二分。于是问题转换为最小权任意匹配。因为 只有
阅读全文
摘要:CXXVI.[GYM102832J]Abstract Painting 考虑将一个圆心为 ,半径为 的圆,转换为 轴上线段 ,问题转换为求无交的线段覆盖方案数。 因为所有的圆半径很小(),所以我们考虑状压位置
阅读全文
摘要:CXVII.[清华集训2012]串珠子 如果直接暴力上状压进行计数是会重复计算的;那么怎样不重不漏地计数呢? 我们发现,要求出连通图的数量是比较难的;但是要求出非联通图的数量是比较简单的,因为我们可以祭出套路。 我们设 表示 集合中所有图的数量(不管联通与否)。再设 \(
阅读全文
摘要:CXI.[九省联考2018]一双木棋chess 一下子就想到了LXX.[USACO5.5]贰五语言Two Five(可见刷题笔记II),因为同是阶梯型的图样。然后稍微想一想就发现总方案数可以用隔板法证得是的,代入一看发现才都不到。于是就果断DP了
阅读全文
摘要:IC.[POI2007]ATR-Tourist Attractions 这题我一年半之前初学状压DP时就写了份没卡空间的做法,今天终于A了…… 首先,思路非常简单——我们可以使用Dijkstra预处理出来中两两点之间的距离以及它们到和的距离。接着,设
阅读全文
摘要:LCV.[SDOI2008]山贼集团 题解
阅读全文
摘要:XXXV.CF401D Roman and Numbers 思路: 我们设表示中出现了多少个数字。然后就可以设表示当填入数字的状态是,且当前数的余数是时的方案数。则直接转移即可。 复杂度。 代码: #in
阅读全文
摘要:LXVII.[USACO15JAN]Moovie Mooving G 思路1. 设表示在第场(注意是场,不是部)电影时,已经看了里面的电影是否合法。 然后贪心地取最小的状态保存。光荣MLE了,。 代码: #include<bits/stdc++
阅读全文
摘要:XLVIII.CF11D A Simple Task 我感觉状压DP是所有DP中最能玩出花的那一种……因为状态保存下来了因此什么奇奇怪怪的限制都能满足。 比如说这题。 一个环可以看作一条首尾相接的路径。我们可以设表示:在集合中的点构成了一条路径,且路径的起点为的方案数。
阅读全文
摘要:XLVII.CF906C Party DP是门艺术。 一眼状压。但是怎么状压就比较困难,因为同一个可以代表成千上万种含义。 这里我们采用,设表示当集合中所有的点都处于同一个团内的最小代价。 则我们有$f[x \operatornamesta_i]=\
阅读全文