嗯。

嗯。

SGU 131.Hardwood floor 状态压缩DP

#include #include typedef __int64 LL; LL dp[10][1<<10]; int n, m; int st, flag; void dfs(int i, int s, int ns, int j, LL num) { if(j == m) ...

2015-03-02 14:27:19

阅读数 881

评论数 0

HDU 4085 Peach Blossom Spring 斯坦纳树 状态压缩DP+SPFA

状态压缩dp+spfa解斯坦纳树 枚举子树的形态 dp[i][j] = min(dp[i][j], dp[i][k]+dp[i][l]) 其中k和l是对j的一个划分 按照边进行松弛 dp[i][j] = min(dp[i][j], dp[i'][j]+w[i][j])其中i和i'之间有边相...

2014-10-17 11:14:07

阅读数 1084

评论数 0

Light OJ 1406 Assassin`s Creed 状态压缩DP+强连通缩点+最小路径覆盖

题目来源:Light OJ 1406 Assassin`s Creed 题意:有向图 派出最少的人经过所有的城市 并且每个人不能走别人走过的地方 思路:最少的的人可以走完全图 明显是最小路径覆盖问题 这里可能有环 所以要缩点 但是看样例又发现 一个强连通分量可能要拆分 n最大才15 所以就状态压缩...

2014-07-12 11:36:25

阅读数 1364

评论数 0

Light OJ 1316 A Wedding Party 最短路+状态压缩DP

题目来源:Light OJ 1316 1316 - A Wedding Party 题意:和HDU 4284 差不多 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两点之前的最短路 然后只考虑那些商店 个数小于15嘛 就是TSP问题 状态压缩DP搞一下 状态压缩姿势不...

2014-07-06 17:32:01

阅读数 912

评论数 0

Light OJ 1011 Marriage Ceremonies 状态压缩DP

题目来源:Light OJ 1011 Marriage Ceremonies 题意:n个男生和n个女生配对 给出n*n的矩阵 aij表示男生i选择女生j得到的值 求两两配对后最大可能得到的值 思路:dp[i][s|(1 #include #include #include using nam...

2014-06-03 15:46:23

阅读数 1161

评论数 0

POJ 1038 Bugs Integrated, Inc. 状态压缩DP

题目来源:1038 Bugs Integrated, Inc. 题意:最多能放多少个2*3的矩形 思路:状态压缩DP啊 初学 看着大牛的代码搞下来的  总算搞懂了 接下来会更轻松吧 3进制代表前2行的状态(i行和i-1行)1代表i-1行占位 2代表i行占位 i-1不管有没有占位都不会影响的0代表i...

2014-05-30 21:29:04

阅读数 1276

评论数 0

POJ 2441 Arrange the Bulls / 状态压缩DP

还是比较简单的 入门的DP #include #include const int maxn = 22; int dp[2][1<<maxn]; int pre[1<<maxn]; int a[maxn][maxn]; int main() { int n, m; ...

2014-03-27 12:11:38

阅读数 936

评论数 0

POJ 2923 Relocation / 状态压缩DP

和以前做的差不多 n《=10 很容易忘状态压缩那里想 预处理一下 哪几个物品可以一次运完 可以的话用一个二进制表示 并且dp[state] = 1 表示一次就可以 然后平常那样做状态压缩DP就行了 #include #include #include #include using nam...

2014-03-17 22:39:17

阅读数 804

评论数 0

UVa 11008 Antimatter Ray Clearcutting / 状态压缩DP

一看题目就知道是状态压缩 DP 然后n棵树至少要砍掉m棵 每次可以去掉一整行的树 斜着也可以 求最少的次数 开始不知道怎么存一整行 百度了 然后是用一个二维数组a[i][j] 里面一个二进制 表示可以朝i j这个发现去掉的树 然后i == j的时候我是 a[i][j] = 1 网上大多数是记忆化搜...

2014-03-13 12:51:00

阅读数 1103

评论数 0

UVa 10911 Forming Quiz Teams / 状态压缩DP

小白书上讲的很详细 n对点 两两配对 求每对点的距离之和最小 状态压缩DP 经典 #include #include #include #include using namespace std; const int maxn = 18; double dp[1<<maxn]; ...

2014-03-12 11:55:54

阅读数 875

评论数 0

HDU 4284 Travel / 状态压缩DP

最多15个必须经过的城市 2进制表示 dp[i][j] 表示i这个状态下现在位置是第j个城市剩下的最大钱数 我日啊 id有一个错了 害我哇了12次 #include #include #include using namespace std; const int maxn = 110; i...

2014-03-07 09:30:58

阅读数 911

评论数 0

UVa 11825 Hackers’ Crackdown / 状态压缩DP

代码就是书上的 这题太神了 太好了 直接看书吧孩子 书上讲的蛮好的 2进制枚举子集还是很巧妙的 a[i]表示的树中1的地方表示相连 所有1组成一个集合 cover[i]表示a[i]的组合 比如i = 6 就是 110 就是a[1] a[2]2个集合的并集 dp[i]表示集合i做多终止几项服务 fo...

2014-01-23 14:05:20

阅读数 895

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭