
状压DP
Hacheylight
ZJ OIer
展开
-
7月23日考试 爆炸记 + 题解
考试PDF A.移动杠铃原创 2018-07-24 10:58:54 · 584 阅读 · 0 评论 -
Corn Fields 玉米田 HQG
这题是状压dp的模板题。 至于状压是什么,自己上网查吧,我在这里不多说。 预处理: 1.f[i]f[i]f[i]表示第iii行的玉米田可行方案; ok[i]ok[i]ok[i]表示iii状态是否是可行解。 判断方法:与i<<1i<<1ii>>1i>>1i>>1 &后 均为0,证明脑补一下就可以了。 之后状压dp dp[i][j]...原创 2018-08-04 13:30:38 · 192 阅读 · 0 评论 -
CF327E Axis Walking HQG的博客
给一个序列,可以任意重排,但是前缀和不能出现给定数字中的数,问有几种排列方式 n<=24,这样的数量级不是搜索就是状压。明显这道题目是状压。 dp[i]表示选的状态为i的方案数 这题主要练习通过lowbit优化的dp #include <bits/stdc++.h> using namespace std ; const int p = 1e9+7; const int ...原创 2018-08-04 15:45:13 · 310 阅读 · 0 评论 -
Atcoder Educational DP Contest 题解 + 总结
待补原创 2019-01-07 12:16:13 · 5780 阅读 · 6 评论 -
动态规划模型总结之状压dp
啊怎么前面的都没写就直接状压了啊 状压比较简单先讲状压(其实比较向深搜的优化) 可能蓝书上的例题偏难先将一些简单的 不会位运算就gg了吧 1.问题引入 为什么需要状压dp 状压dp可以解决一些题目的状态随阶段增长而增长的题目,比如一个量用了还是没用等等,把状态压缩成数字存入数组然后进行dp 啊听着好抽象啊 那我们搞一个例题看看 状压dp入门题:玉米田 简化后的题目意思是有一块矩阵,可以取一些1,但...原创 2019-01-14 12:07:02 · 252 阅读 · 0 评论 -
Codeforces 111C Petya and Spiders (状压dp)
一个 n∗mn*mn∗m 的棋盘,一开始每个格子都有一个蜘蛛,你可以对每个蜘蛛向四个方向移动,或者不动;问最多能够有多少个格子没有蜘蛛 n∗m&lt;=40n*m&lt;=40n∗m<=40,侧面推导发现 min(n,m)≤6min(n,m) \le 6min(n,m)≤6 显然把十字架形的蜘蛛移到一个格子最优 在不同的棋盘形态十字架的摆放却不尽相同 能否贪心? 好像不行 数...原创 2019-03-03 15:41:33 · 278 阅读 · 0 评论 -
Codeforces 152E Garden (状压dp+最短路)
题意: 有一个 n∗mn*mn∗m 的花园,每个位置有一定数量的花,有 kkk 个建筑,然后要把这些建筑连通起来,连通就必须要把花园的一些花杀死,铺上道路 问最少通过杀死多少花可以使建筑连通 乍一看很像最小生成树,但是确发现并不是 带权并查集? 好像也不是 那怎么维护连通性? 懵逼。。。。 我们发现最后建筑连成的路必定是成树形的 那么我们只要断掉一条边必定能够使得树变成两半 kkk 很小,那么是否...原创 2019-03-03 16:10:43 · 301 阅读 · 0 评论