![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
状压dp
文章平均质量分 63
1
1E6
这个作者很懒,什么都没留下…
展开
-
[vjudge HDU - 1400] Mondriaan’s Dream (状压DP 轮廓线DP 经典题)
[vjudge HDU - 1400] Mondriaan’s Dream 题目链接 大致题意: 在 ???? × ???? 的棋盘内铺满 1 × 2 或 2 × 1 的多米诺骨牌,求方案数。 解题思路: 状压DP 状压的话,骨牌的表示状态不同,对应的解法也不同,这里把两种都讲一下 状态表示:f[i][s1]表示第i-1行已经放满且第i行状态是s1的方案数 s1表示第i行的状态,s2表示第i-1行的状态 (1) 骨牌横放表示00,竖放表示10(上1下0) 下凸形 对于竖放的骨牌,相邻原创 2021-11-18 20:39:39 · 442 阅读 · 0 评论 -
Corn Fields(状压dp)
题目链接: Corn Fields 大致题意: 有n*m的格子,1表示可以放牧,0表示不能放牧,要求相邻两个格子不能同时有牛,求可以放牧的方案数 解题思路: 状态压缩 f[i][j]表示第i行,状态是j的所有方案数 转移方程:f[i][state[j]] = f[i][state[j]] + f[i - 1][state[k]] AC代码: #include<iostream> #include<cstring> #include<algorithm> using原创 2021-01-21 16:24:37 · 543 阅读 · 1 评论 -
HDU - 1074 Doing Homework(状压DP)
题目链接: Doing Homework 大致题意: 给出n个作业,每个作业有名字,截止时间,完成作业需要的时间,如果在截止时间内没有完成作业,超出一天扣一分,求出完成所有作业最少扣多少分,以及完成作业的方案(按字典序输出) 解题思路: 状压DP 用二进制枚举每个作业的完成情况,1对应位置表示第几个作业完成,对应第几个作业二进制逆序来看,用time数组记录每一种状态花费的最小时间,也就是当前状态全部完成的最后时间,最后递归输出方案。 时间复杂度O(n*1<<n) 这个题差不多1e6吧原创 2020-11-12 19:45:08 · 81 阅读 · 0 评论