![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【动态规划】-状压DP
文章平均质量分 86
tystrwor
这个作者很懒,什么都没留下…
展开
-
HDU 1074 A - Doing Homework 【状压DP】
HDU1074链接 题意: 有n份作业需要做,每一份作业都有 一个截至时间和一个耗时(完成该作业需要的时间),每份作业每逾期一天就扣掉一分,要求完成所有作业并扣掉最少的学分,并把完成作业的顺序输出出来!分析:这题拖啦两天才写出来(状压专题第一题),开始状压理解较浅硬是没有思路,后来写啦几道题后,才想到思路。这题其实不难,用状压分数有点不好求,后来想到用一个数组记录当前状态已原创 2017-08-16 17:10:47 · 165 阅读 · 0 评论 -
LightOJ - 1406 Assassin`s Creed【状压DP】
LightOJ - 1406入口Altair is in great danger as he broke the three tenets of the assassin creed. The three tenets are: 1) never kill an innocent people, 2) always be discrete and 3) never compromise原创 2017-08-31 21:03:10 · 300 阅读 · 0 评论 -
POJ2430 Lazy Cows【状压DP+离散化】
POJ - 2430传送门 题意:有n头牛在2*b的牧场上,只可以修建k(k的最小面积。分析:用dp[i][j][l]表示前i列的牛都铺满,用去啦j个帐篷,状态为l,的最小面积。l==0,表示没有铺l==1,表示铺啦第一格l==2,表示铺啦第二格l==3,表示铺啦一二格,且不在一个矩形里。l==4,表示铺啦一二格,且在一个矩形里。ACcode原创 2017-08-28 10:14:09 · 247 阅读 · 0 评论 -
CodeForces - 11D 【状压DP+无向图找环】
CF11D 链接 题意:求出一个n个点m个边的图,求简单环有多少(没有重复点和边)。(n 分析:用S能记录状态(有多少个点在路径中),那么如何找环能确保不重不漏啦,对于一个环,找出他的特异性记录,一个环,如果以最小点为环的“起始点”,则每个环都被记录啦两次。用dp[s][i]表示路径s的当前点为i的次数,枚举下一点,如果形成环就加上答案,否则记录下一边。由于题目求的是超过三个原创 2017-08-14 20:51:51 · 829 阅读 · 0 评论 -
状压专题总结【个人笔记】
最近做完一个状压专题,写一写个人总结。首先,我暂时接触啦三种大致解题套路。一、按照一个顺序遍历完一些点,求最值如HDU1074 的作业,按照哪一种顺序做使扣分最少,用二进制记录当前已经访问过的点,然后进行状态转移。还有就是如CF8c的,从起点去一些地方拿东西,每次最多两个,求最小权值,这个是没有顺序的,直接用二进制记录当前状态能达到的最小权,转移方程也不难得到。二、记录状态,两个状态转原创 2017-08-18 23:27:14 · 192 阅读 · 0 评论 -
CodeForces 165E 【状压DP】
| 原题链接 E. Compatible Numberstime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputTwo intege原创 2017-08-03 20:19:27 · 347 阅读 · 0 评论 -
SGU132 Y - Another Chocolate Maniac 【轮廓线状压DP】LightOJ - 1270
SGU132传送门Bob really LOVES chocolate. He thinks he never gets enough. Imagine his joy when his parents told him that they would buy him many rectangular chocolate pieces for his birthday. A piece o原创 2017-08-18 11:17:24 · 373 阅读 · 0 评论 -
UVA 12170 Easy Climb 【单调队列优化DP+状态简化】
原题文档 uva12170 题意:给你一些台阶的高度,使得相邻两个台阶之间的高度差不大于d(1分析:如果按照常规DP想总共有O(N*d)种状态,无解问题。找一找规律,当n=3时,第二个台阶只能修改max(h1,h3)-d,min(h1,h3)+d,h2.中的一种才能保证修改最小。然后可以推出每个台阶转移高度只能为hi+kd(-n状态就减少到O(n*n*n)种。原创 2017-08-11 15:41:52 · 332 阅读 · 0 评论 -
UVA1204 fun game 【状压DP】
题目文档题意:一群小孩(至少两个)围成一圈做游戏。每一轮从某个小孩开始往他左边或者右边传手帕。一个小孩拿到手帕后在手帕上写上自己的性别,男孩写B,女孩写G,然后按照相同的方向传递给下一个小孩,每一轮都可能在任何一个小孩写完后停止,现在游戏已经进行了n轮,已知n轮中每轮手帕上留下的字,问最少可能有几个小孩分析:见紫书P294-P295#include#include#in原创 2017-08-10 09:57:05 · 259 阅读 · 0 评论 -
POJ 2411 HDU4804【轮廓线+状压DP】
POJ2411传送门 题意:给出一个n*m的矩形,然后用1*2大小的多米若骨牌去填充n*m的这个矩形,问有多少种填充方法。分析:由于每个骨牌是1*2的矩形,之前的状压套路都不管用啦,然后去找博客是轮廓线,然后学习一下。 首先对于每个骨牌在(i,j)只能 横着连续两格(i, j+1)(i, j+1),与上一层(i-1, j) (i, j),或者与下一原创 2017-08-16 19:27:35 · 360 阅读 · 0 评论 -
uva12105 【DP】
题目链接: 点击打开链接【题意】用不超过n(n 【分析】可以用dp[i][j]表示除以m余j的i位数最少需要多少火柴这个状态计算,转移方程是:用dp[i][j]+c[k]来更新dp[i+1][(j*10+k)%m](c[]是每个数字需要花费的火柴数量,k是当前枚举的数字)。可以避免高精度提高效率,但是怎么确定每一位上的数字都是什么呢,需要用dp[i][0]找到最大的i使得dp[i][0转载 2017-08-09 15:54:04 · 292 阅读 · 0 评论