![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状压DP
Jarden_
这个作者很懒,什么都没留下…
展开
-
状压小技巧
m个状态的全集 111…111 (1<<m)-1; 状态压缩 s|=(1<<(x-1)); 枚举子集 for(int i=s;i;i=(i-1)&s) ; ¬s¬s¬s U^s; 枚举包含s的集合S s的补集的子集和s的按位或 可以理解为一点点补上去 int tmp=s^((1<<m)-1); for(int i=tmp;i;i=(...原创 2018-08-23 19:21:15 · 474 阅读 · 0 评论 -
tourism
Description 给定一个n个点,m条边的无向图,其中你在第i个点建立旅游站点的费用为Ci。在这张图中,任意两点间不存在节点数超过10的简单路径。请找到一种费用最小的建立旅游站点的方案,使得每个点要么建立了旅游站点,要么与它有边直接相连的点里至少有一个点建立了旅游站点。 Input 第一行包含两个正整数n,m(1<=n<=20000,0<=m&...原创 2018-09-15 13:38:12 · 174 阅读 · 0 评论 -
邻面合并
题目描述 给定一个N×M的网格,每个格子上写有0或1。现在用一些长方形覆盖其中写有1的格子,长方形的每条边都要与坐标轴平行。要求:每个写着1的格子都要被覆盖,长方形不可以重叠(重复绘制也多少会增加性能开销),也不能覆盖到任何一个写着0的格子(不然绘制结果就不正确了)。请问最少需要多少长方形? 题解 我们大力状压DP,记f[i][s]f[i][s]f[i][s]表示第iii行的区间开头 代码 #in...原创 2018-10-29 21:40:49 · 177 阅读 · 0 评论 -
拜访女神
题目描述 TRT出国后,想找一个好的位置住下来。而他所在的城市,恰好有N栋建筑(从1~n编号),他会选择这些建筑的某一个居住。而建筑之间,有M条双向路相连。每条道路有一个起始点u,终止点v,以及走过这条道路所需的时间d。所有建筑都可以借助一些道路相互到达。TRT每天会从他的住房出发,按任意顺序拜访他的K个女神(他想怎么走就怎么走),不过由于TRT精力有限,他的女神个数不会超过12个。可他的女神们都...原创 2018-11-04 07:41:03 · 123 阅读 · 0 评论