状压DP
Hacheylight
ZJ OIer
展开
-
7月23日考试 爆炸记 + 题解
考试PDFA.移动杠铃原创 2018-07-24 10:58:54 · 559 阅读 · 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,证明脑补一下就可以了。之后状压dpdp[i][j]...原创 2018-08-04 13:30:38 · 180 阅读 · 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 · 301 阅读 · 0 评论 -
Atcoder Educational DP Contest 题解 + 总结
待补原创 2019-01-07 12:16:13 · 5680 阅读 · 6 评论 -
动态规划模型总结之状压dp
啊怎么前面的都没写就直接状压了啊状压比较简单先讲状压(其实比较向深搜的优化)可能蓝书上的例题偏难先将一些简单的不会位运算就gg了吧1.问题引入为什么需要状压dp状压dp可以解决一些题目的状态随阶段增长而增长的题目,比如一个量用了还是没用等等,把状态压缩成数字存入数组然后进行dp啊听着好抽象啊那我们搞一个例题看看状压dp入门题:玉米田简化后的题目意思是有一块矩阵,可以取一些1,但...原创 2019-01-14 12:07:02 · 238 阅读 · 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 · 260 阅读 · 0 评论 -
Codeforces 152E Garden (状压dp+最短路)
题意:有一个 n∗mn*mn∗m 的花园,每个位置有一定数量的花,有 kkk 个建筑,然后要把这些建筑连通起来,连通就必须要把花园的一些花杀死,铺上道路问最少通过杀死多少花可以使建筑连通乍一看很像最小生成树,但是确发现并不是带权并查集? 好像也不是那怎么维护连通性? 懵逼。。。。我们发现最后建筑连成的路必定是成树形的那么我们只要断掉一条边必定能够使得树变成两半kkk 很小,那么是否...原创 2019-03-03 16:10:43 · 276 阅读 · 0 评论