这是我做状压DP的第一道题,状压里面都是用位运算来完成的,只要耐下心来弄明白每次位运算的含义,还是容易理解的。题意:有编号为0~n-1的n台服务器,每台都运行着n中服务,每台服务器还和若干台其他服务器相连。对于每台服务器,你可以选择停止该台以及与这台服务器相连的服务器的一项服务。如果一台服务器的所有...
分类:
其他好文 时间:
2014-08-13 21:29:47
阅读次数:
212
压前两行的状态很容易想到,但是 直接搞 (1(1#include #include #include #include #include #include #include #include #include #include #include #include using namespace .....
分类:
其他好文 时间:
2014-08-13 14:23:46
阅读次数:
140
这题对我真的很难,实在做不出来,就去百度了,搜到了一种状压DP的方法,这是第一种
具体见注释
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define mo...
分类:
其他好文 时间:
2014-08-12 22:18:54
阅读次数:
470
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;int n;int Map...
分类:
其他好文 时间:
2014-08-12 18:17:04
阅读次数:
269
水题,一维的DP,表示还剩哪些atom的时候能获得的最大能量#include #include #include #include #include #include #include #include #include #include #include #include #include #in...
分类:
其他好文 时间:
2014-08-12 16:58:54
阅读次数:
203
一开始能想到的状态就只有位压两行和当前行的行号,这样无论是空间和时间都是无法接受的。但是因为炮兵的攻击范围比较大,而且又有地形限制,每一行的状态其实不多了,打表看了一下不超过80种,离散化一下就可以随意DP了。据说题目也可以抽象成二分图最大匹配来搞?感觉复杂度有点高#include #include...
分类:
其他好文 时间:
2014-08-12 16:57:34
阅读次数:
335
用一个数记录上一行取的状态,在枚举此时的状态,并且把符合条件的传递下去。判断写的有点丑,roll 直接位运算搞定。#include #include #include #include #include #include #include #include #include #include #in...
分类:
其他好文 时间:
2014-08-12 16:43:04
阅读次数:
181
三进制状压。调了一整天,一开始用记忆化搜索一直超时,后来改成了递推,代码能力真是弱。。后来瓜神提供了一个思路,如果建立一个超级源点然后用记忆化搜索的话,应该可以过。。。。#include #include #include #include #include #include #include #i...
分类:
其他好文 时间:
2014-08-12 16:20:24
阅读次数:
199
题目大意:
给出完成n门功课的所需要的时间和n门功课上交时间的deadline。
如果比deadline 晚交一天就要扣一分。
安排出完成顺序使得扣分最少。
思路分析:
dp[s] 表示完成了s 状态下的功课所扣分的最优解。
对于每一个状态,我们转移的时候将每一门没有完成的功课加入其中,这样就保证了逐一完成。
需要注意的是字典序最小的问题,开始的时候对输入的字...
分类:
其他好文 时间:
2014-08-10 18:48:20
阅读次数:
210
/*ID: neverchanjePROG:LANG: C++11*/#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define INF 1e9...
分类:
其他好文 时间:
2014-08-10 15:35:00
阅读次数:
326