状态压缩(状压)DP的难点在于状态的表示,状态的表示是否满足无后效性、最优子结构且很容易地通过位运算的特性去用一个状态得到一个新状态。一般都是通过二进制来表示状态,所以我们需要一些位运算的知识。<< 左移>> 右移& 按位与(用于判断一位是不是1,用于清空一位的状态,求两个状态的交集)| 按位或(将 ...
分类:
其他好文 时间:
2020-01-26 22:25:16
阅读次数:
79
源自 luhong 大爷的 FJ 省冬令营模拟赛题 Statement 给定一个 $n$ 个点 $m$ 条边的图,没有重边与自环 每条边的两端点编号之差不超过 $12$ 求选出一个非空点集使其导出子图连通的方案数模 $2$ 后的结果 $n\le 50$,$m\le\binom n2$ Solutio ...
分类:
其他好文 时间:
2020-01-23 12:25:36
阅读次数:
77
传送门 这是一道状压dp的经典例题 题目让输出所有可能的方案数 很显然 这是一道动态规划了 由于国王放置的位置有一定的限制 所以我们要在状态转移的过程中增加一维来存储状态 我们这一道题假设f[i][j][k] 意思是在前i行一共放置了j个国王 第i行国王放置的状态是k 存储的值是方案数 首先 我们可 ...
分类:
其他好文 时间:
2020-01-20 20:56:39
阅读次数:
82
状态压缩是一种很精妙的高效存储方式,常用于DP。旅行商问题和其变种都可以用状压DP求解 ...
分类:
其他好文 时间:
2020-01-19 12:26:40
阅读次数:
105
状态压缩是一种很精妙的设计,利用计算机二进制的特性,用整数存储状态。在此基础上的DP可以用来解决旅行商问题和很多它的变种问题 ...
分类:
其他好文 时间:
2020-01-18 12:59:09
阅读次数:
111
Educational Codeforces Round 80 (Rated for Div. 2) ...
分类:
其他好文 时间:
2020-01-17 10:08:42
阅读次数:
62
这题1<<M为255,可以logN二分答案后,N*M扫一遍表把N行数据转化为一个小于等于255的数字,再255^2检验答案(比扫一遍表复杂度低),复杂度约为N*M*logN 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 usin ...
分类:
其他好文 时间:
2020-01-16 14:34:28
阅读次数:
61
题:https://codeforces.com/contest/1288/problem/D题意:给定n个序列,每个序列m个数,求第i个和第j个序列组成b序列,b序列=max(a[i][k],a[j][k]),使得b序列最小值最大化,求达成条件的 i 和 j (i可等于j) 分析:因为m<=8,所 ...
分类:
其他好文 时间:
2020-01-15 21:16:02
阅读次数:
158
因为改题太慢,两篇总结合一块写了。 馍旎6: 抄了一套UR(的题目 A. Yist 根号算法。 首先判-1即为判断是否有一个点能对其他点作贡献,且不存在于s序列中。 考虑单个点的贡献,假如第一轮贡献为$a$,之后每一轮的的贡献即为$a*2^{cnt}$ cnt为这个点在序列中出现的次数。然后这玩意拿 ...
分类:
其他好文 时间:
2020-01-14 18:58:28
阅读次数:
76
"$\large{P2831}\Large{愤怒的小鸟}$" $\large\text{题目描述}$ $Kiana$ 最近沉迷于一款神奇的游戏无法自拔。 简单来说,这款游戏是在一个平面上进行的。 有一架弹弓位于 $(0,0)$ 处,每次 $Kiana$ 可以用它向第一象限发射一只红色的小鸟,小鸟们的 ...
分类:
其他好文 时间:
2020-01-11 15:00:13
阅读次数:
85