状压dp,就是把动态规划之中的一个个状态用二进制表示,主要运用位运算。 这里有一道例题:蓝书P639猛兽军团1 直接上代码,注释很详细 ...
分类:
其他好文 时间:
2018-06-24 22:27:36
阅读次数:
149
Description Emma and Eric are moving to their new house they bought after returning from their honeymoon. Fortunately, they have a few friends helping ...
分类:
其他好文 时间:
2018-06-21 23:39:53
阅读次数:
263
题解:状压dp,dp[ s ][ i ]表示当前已经游玩的点(R中的点),且终点是 i 的最小花费。预处理出任意两点之间的最短距离。总的来说,面向数据编程。 。。。。。。。心里有句mmp。调试了一个小时,始终0%,所有数据怒开long long,然后过了,,,,, ...
分类:
其他好文 时间:
2018-06-17 22:31:33
阅读次数:
224
思路: 题目链接http://poj.openjudge.cn/practice/C17K/ 状压dp。dp[i][j]表示第i - k人到第i人的状态为j的情况下前i人中最多有多少好人。 实现: ...
分类:
其他好文 时间:
2018-06-09 15:28:21
阅读次数:
200
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1565 题意:自己念 分析:有了上一题的基础,这题的状态方程也好想:dp[i][s]表示第i行第s个状态取得的最大值。 可以预处理出每一行每一种状态所能获得的值,方程就是dp[i][j] = max(dp[i ...
分类:
其他好文 时间:
2018-06-09 00:04:05
阅读次数:
157
连接:http://bailian.openjudge.cn/practice/4124 题意:从1到n走过所有点恰好一次最短时间。乱搞的话会完美的超时(阶乘级别的复杂度,虽然范围很小,但是也足够超时了)。 思路:先想一个不太成熟的思路。用dp[s][j]表示。s记录的是每个点是否被走过的状态。而d ...
分类:
其他好文 时间:
2018-06-08 00:37:58
阅读次数:
170
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1087 简单的状压dp。但是wa了好几发。注意long long。 注意0和0的连边。而且不能连成两条,所以放在外面写。 ...
分类:
其他好文 时间:
2018-06-06 01:16:09
阅读次数:
165
描述 考虑一段DNA单链,上面有N个基因片段。这里的基因片段可重叠(例如AGCTC包含AGC和CTC),不可倒置(例如AGCTC不包含TCG)。要问这样的单链最短长度是多少。 输入 输入的第一行是一个正整数T(不超过13),表示数据组数。每组数据若干行,其中第一行一个正整数N(不超过9),表示基因片 ...
分类:
其他好文 时间:
2018-06-03 14:28:56
阅读次数:
385
6月2号了,总结一下,这段时间做了几道01背包、完全背包,理解更深刻了,再做了几道状压dp的题目; 真的,最近的做dp成瘾了,先暂定到7月放假之前就做dp和图把; 1、每天完成一道dp的题目; 树的话只能等到暑假再弄了。 2、每周做2套codeforces 的比赛。 3、晚上11点到11点半学习一下 ...
分类:
其他好文 时间:
2018-06-03 00:56:09
阅读次数:
151
这几天都在学习状压DP,总结一下,首先是状压DP的工具。 类型 符号 规则 例子 按位与 & 同1为1,其余为0 9 00001001 & 5 00000101 5 00000101 1 00000001 按位或 | 同0则0,其余为1 9 00001001 | 5 00000101 5 00000 ...
分类:
其他好文 时间:
2018-06-03 00:00:59
阅读次数:
198