
状压DP
ylsoi
这个作者很懒,什么都没留下…
展开
-
[bzoj]noip十连测欧贝里斯克的巨神兵(obelisk)——dag图DP,状态压缩
题目大意: 有一张n个点,m条边的有向图,有多少个子图(选定一个边集)是没有环的。答案对1e9+7取模。(n≤17n≤17n≤17) 思路: 话说这个题目作为NOIP的模拟题有点过了,毕竟n≤17n≤17n≤17的方法不是太好想(一定我是太菜了)。 先考虑n≤10n≤10n≤10的方法,构造一个dag图,一个好的方法就是可以根据拓扑序来分层,一个图的拓扑序一定是唯一的,所以我们可以一层一层...原创 2018-05-23 22:48:27 · 1575 阅读 · 1 评论 -
[loj2318][NOIP2017]宝藏——状压DP
题目大意: 这里是题目 思路: 看样子数据范围这么小,可以搜索的样子,然后发现复杂度不行。 似乎一个一个点地加进去状态太多了,所以可以考虑一层一层地加点。 然后就成了一个三进制的DP,表示目前到了哪一层,这个点是否在里面以及是否是整个树的最后一层。 复杂度似乎还是太高,其实没有必要记录是否是整个树的最后一层,我门在加点集进去的时候,可以直接把每一个结点都当成是最后一层,然后直接加点...原创 2018-08-20 21:41:31 · 346 阅读 · 1 评论 -
[bzoj2734][HNOI2012]集合选数——矩阵+状压DP
题目大意: 给定一个集合,里面为1-n的数,现在要求从中选择一些数,选了x就不可以选2x和3x,求方案数。 思路: 考虑根据题目的限制关系构造一个矩阵。 ⎡⎣⎢⎢⎢⎢x,2x,4x,8x…3x,6x,12x…9x,18x,36x…⋯⎤⎦⎥⎥⎥⎥[x,2x,4x,8x…3x,6x,12x…9x,18x,36x…⋯]\left[ \begin{matrix}{x,2x,4x,8x\dots}\...原创 2018-08-25 11:26:05 · 177 阅读 · 0 评论 -
[bzoj5006][THUWC2017]Bipartite 随机二分图——概率+状压DP
题面: 这里 思路: 先考虑只有t=0的时候该怎么做。 即枚举每一条边选不选入集合,枚举出所有的情况后对于每一种情况计算概率和二分图匹配数的乘积。 上述做法太暴力,于是考虑优化,不难发现一个完备匹配一定是n条匹配边构成并且不重复地覆盖了所有的点。于是设计一个类似于背包的DP,每一条边都是一种物品,依次加入每一种已经匹配好的点集: 如果点集中存在这条边的端点,那说明无论加不加入都不可...原创 2018-09-01 17:10:37 · 342 阅读 · 0 评论 -
[bzoj3590]Quare——状压DP
题目大意: 给定一个图,求一个边的子集,使得整张图为边双连通并且边的权值和最小。 思路: 数据范围这么小,考虑状压DP。 题目要求子图为边双连通,边双连通可以表示成若干个环套在一起,但是这样并不方便我们表示状态。 思考一下,不难发现一个边双可以这样组成:一个边双不断地添加一条链并且使这条链首尾都和边双里的任意一个点相连。 于是转移的大致思路便出来了,枚举一条链并且将这一条链接入目前的集合中,每一次...原创 2018-10-27 14:38:41 · 265 阅读 · 0 评论 -
[bzoj1808][Ioi2007]training 训练路径——树形DP+状压DP
题目大意: 给定一个图,其中有一些铺设的边和没有铺设的边,其中铺设的边构成了一棵树,这棵树保证了每个点的度数≤\leq≤ 10。未铺设的边有边权,现在要求你删去一些未铺设的边使得图中不存在偶环。 思路: 神仙题目。。。 首先可以发现如果铺设的边在树上形成了偶环,那么一定要删掉。 然后考虑放在树上会形成奇环的边。 画一画可以发现,如果两条边(u1,v1)(u2,v2)(u_1,v_1)(u_2,v_...原创 2018-11-02 14:51:57 · 264 阅读 · 0 评论