随笔分类 - 神奇的状压DP
状压真的好难哦!
摘要:题目:HDU3001 #include <bits/stdc++.h> using namespace std; int state[12],vis[60000][12],dis[12][12]; int n,m,dp[60000][12]; void init()//预处理三进制状态 { stat
阅读全文
摘要:题意:https://www.acwing.com/problem/content/1067/ Tyvj 两周年庆典要到了,Sam 想为 Tyvj 做一个大蛋糕。 蛋糕俯视图是一个 N×M 的矩形,它被划分成 N×M 个边长为 1×1×1 的小正方形区域(可以把蛋糕当成 N 行 M 列的矩阵)。 蛋
阅读全文
摘要:题意:给定一个n*m的矩阵,求出其中和最大的子矩阵 比如 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 他的最大子矩阵是 9 2 -4 1 -1 8和为15. ①首先最坏情况我们可以枚举行的上界和下界,列的上界和下界。 求和的话可以用前缀和解决。 ②我们只枚举行的上界
阅读全文
摘要:题目: 房间里放着 nn 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0)点处。 4 1 1 1 -1 -1 1 -1 -1答案是7.41 设dp[i][j]是状态为i处在第j个点的最小路径那么对于一个确定的状态而言,我可以扫描它,把所有为1的点找出来然后抠掉某一个1,
阅读全文
摘要:状态压缩,是一种利用二进制的暴力枚举法. 介绍一下几个二进制运算符,以后都经常用到 与& 1&0 = 0 1&1 = 1 0&0 = 0 或| 1|0 = 1 1|1=1 0|0=0 异或^ 1^0=1 0^0 =0 1^1 = 0 取反~ ~1=0 ~0=1 & 是两边都是1结果才为1 | 只要有
阅读全文

浙公网安备 33010602011771号