【状压dp】
张松超
这个作者很懒,什么都没留下…
展开
-
NYOJ ~ 1273 ~ 宣传墙 (状压DP + 滚动数组 or 矩阵快速幂)
思路:n比较大为1e6,dp[1e6][1<<4]的数组开不下,我们可以发现i的状态都是由i-1得到的,所以我们可以用滚动数组进行优化,但是记得需要清空。i^1可以实现0变为1, 1变为0。其实呢正解是矩阵快速幂。滚动数组:#include<bits/stdc++.h>using namespace std;const int MAXN = 1e6 + 5;const...原创 2018-04-03 21:12:49 · 355 阅读 · 0 评论 -
HDU ~ 1074 ~ Doing Homework (状压DP)
题意:T组测试数据。你有n个作业要做,每个作业有一个截止日期D和做完这个作业需要的天数C。一旦你开始做某个作业你就必须把它做完,不能同时做多个作业。每个作业延期完成1天就会产生1的不快乐值,问如何安排做作业顺序使得这个不快乐值最小,如果有多解,输出字典序最小的解。题目中为了方便,给作业的时候是按照字典序从小到大给出的。思路:dp[state]dp[state]dp[state] 表示作业完成状...原创 2018-06-09 17:31:43 · 186 阅读 · 0 评论