状压DP
wwt9b15bs
这个作者很懒,什么都没留下…
展开
-
【题解】sdoj3729电影 状压DP(2018-08-06集训T3)
题目链接问题描述小石头喜欢看电影,选择有 N 部电影可供选择,每一部电影会在一天的不同时段播 放。他希望连续看 L 分钟的电影。因为电影院是他家开的,所以他可以在一部电影播放过 程中任何时间进入或退出,当然他不希望重复看一部电影,所以每部电影他最多看一次, 也不能在看一部电影的时候,换到另一个正在播放一样电影的放映厅。 请你帮助小石头让他重 0 到 L 连续不断的看电影,如果可...原创 2018-08-12 10:35:53 · 447 阅读 · 0 评论 -
【题解】洛谷P3959[NOIP2017]宝藏 状压DP
题目链接学习了大佬题解,大概看明白了思路。#include<cstdio>#include<climits>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int INF=0x3f3f3f3f;int n,...转载 2018-10-08 10:47:00 · 461 阅读 · 0 评论 -
【题解】poj2411 Mondriaan's Dream 状压DP
题目链接DescriptionSquares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, after producing the drawings in his ‘toilet series’ (where he had to use his toilet paper to draw...原创 2018-09-28 21:16:01 · 261 阅读 · 0 评论 -
【题解】洛谷P2396 yyy loves Maths VII 状压DP
题目链接题目背景yyy对某些数字有着情有独钟的喜爱,他叫他们为幸运数字;然而他作死太多,所以把自己讨厌的数字成为”厄运数字”题目描述一群同学在和yyy玩一个游戏每次,他们会给yyy n张卡片,卡片上有数字,所有的数字都是”幸运数字”,我们认为第i张卡片上数字是ai每次yyy可以选择向前走ai步并且丢掉第i张卡片当他手上没有卡片的时候他就赢了但是呢,大家对”厄...原创 2018-09-12 06:23:07 · 211 阅读 · 0 评论 -
【题解】CH0103 位运算+状压DP+哈密顿回路
题目链接 基础状压DP#include&amp;amp;lt;cstdio&amp;amp;gt;#include&amp;amp;lt;cstring&amp;amp;gt;#include&amp;amp;lt;algorithm&amp;amp;gt;using namespace std;#define _for(i,a,b) for(int i=(a);i&amp;am原创 2018-08-18 07:37:27 · 621 阅读 · 0 评论 -
【题解】洛谷P2831[NOIP2016]愤怒的小鸟 状压DP
题目链接 dp[i]表示i状态时所需要的最少的小鸟数,state[i]表示第i条抛物线所打掉的小猪状态, dp[i|state[j]]=min(dp[i|state[j]],dp[i]+1)#include&amp;amp;amp;lt;cstdio&amp;amp;amp;gt;#include&amp;amp;amp;lt;cstring&amp;amp;amp;gt;#include&amp;amp;amp原创 2018-08-14 06:53:55 · 256 阅读 · 0 评论 -
【题解】hdu1074 状压DP
题目链接 对于n种家庭作业,全部做完有n!种做的顺序 但是n!太大了,且对于完成作业1,2,3和1,3,2和2,1,3和3,2,1和3,1,2来说 完成它们消耗的天数一定是一样的,只是完成的顺序不同从而扣的分不同 所以可以将完成相同的作业的所有状态压缩成一种状态并记录扣的最少分即可 即:状态压缩dp 对于到达状态i,从何种状态到达i呢?只需要枚举所有的作业 假如对于作业k,i中含有作...原创 2018-08-14 06:58:08 · 161 阅读 · 0 评论 -
【题解】洛谷P1896互不侵犯[SCOI2005] 状压DP
题目链接 将任意一行的一个状态看作是n位的二进制数,1表示放了国王,0表示没有放 dp[i][j][k] 表示前i行第j个状态,已经放置了k个国王的方案数; can[i]第i个状态的数字,num[i]第i个状态的1的个数;#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;typedef long l...原创 2018-08-14 06:56:48 · 207 阅读 · 0 评论 -
【题解】poj1185 状压DP
题目链接 思路摘抄自大佬博客 按层数来dp,如果用 dp[i][j][k] 来表示在第 i 行,状态为 j ,i-1行状态为 k 时的状态,那么有转移方程 dp[i][j][k] = max(dp[i][j][k],dp[i-1][k][l] + num[i]); 枚举 i(层数),j(当前层状态),k(上一层状态),l(上上层状态)就可以来进行转移了。#include&lt;cstd...原创 2018-08-14 06:53:24 · 162 阅读 · 0 评论 -
【题解】poj3254 状压DP
题目链接 思路摘抄自大佬博客 状态可由二进制表示,只需将每种状态转化为相应的十进制数,即可只用一个数字,就能表示某一种状态 以dp[i][state(j)]来表示对于前i行,第i行采用第j种状态时可以得到的可行方案总数! 例如:回头看样例数据,dp[2][1]即代表第二行使用第2中状态(0 1 0)时可得的方案数,即为4; 那么,可得出状态转移方程为: dp[i][state(j)]=...原创 2018-08-14 06:53:05 · 132 阅读 · 0 评论 -
【题解】poj2288 状压DP+哈密顿回路+位运算
题目链接 大佬题解写的非常好,学习了。#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cstring&amp;gt;#define _rep(i,a,b) for(int i=(a);i&amp;lt;=(b);i++)#define _for(i,a,b) for(int i=(a);i&amp;lt;(b);i++)typedef long lon原创 2018-08-18 07:37:34 · 301 阅读 · 0 评论 -
【题解】[牛客网NOIP赛前集训营-提高组(第二场)]C.集合划分 状压DP
题目链接看了题解后还是没写对,只能去看Komachi大佬咋写的了。#include<cstdio>#include<cstring>const int N=18,MX=(1<<18)+5;int n,m,k,ban[N][MX],pre[MX],f[MX];int main(){ //freopen("in.txt","r",std...转载 2018-10-30 14:42:34 · 334 阅读 · 0 评论