随笔分类 - 动态规划 - 状态压缩
摘要:P3226 [HNOI2012]集合选数 要求选出集合 $S$ 满足如果 $x$ 选择了,$2x$ 和 $3x$ 都不能选择。 求 ${1,2,\dots,n}$ 的符合要求的子集数量。 $n\le 10^5$。 发现对所有除去 $2,3$ 因子后不同的数,他们之间没有关联,完全可以分开处理。 那么
阅读全文
摘要:CF1152F Neko Rules the Catniverse 给定参数 $n,k,m$,你需要求有多少个大小为 $k$ 的序列 $a$ 满足如下三个条件: 任意两个元素其权值不同。 对于任意 $i$ 满足 $1\le i\le k$ 有 $1\le a_i\le n$。 对于任意 $i$ 满足
阅读全文
摘要:CF1463F Max Correct Set 要求选出集合 $U={1,2,3,\dots,n}$ 的一个子集 $S$,满足:如果 $a \in S$ 并且 $b \in S$,那么 $|a-b| \not ={x}$ 并且 $|a-b| \not ={y}$。求集合 $S$ 大小的最大值。 $1
阅读全文
摘要:CF1342F Make It Ascending 给予一个包含 $n$ 个元素的数组 $a$,你可以进行以下操作: 选择两个不同的元素 $a_i,a_j$($1 \le i,j \le n$,$i \ne j$) 将 $a_j$ 的值加上 $a_i$,并移除 $a$ 中的第 $i$ 个元素。 求使
阅读全文
摘要:状态压缩 $\operatorname{DP}$ 是将比较复杂的状态映射成数字后进行 $\operatorname{DP}$ 。 难点:设计状态 基本位运算 枚举子集 for(int i=s;i;i=(i-1)&s) O(1) 计算 int 以内每一个数含有多少个 1 预处理出 $2^{16}$ 次
阅读全文

浙公网安备 33010602011771号