dp之状态压缩dp
oranges_c
落寞是岁月的痕迹
展开
-
【POJ3254】Corn Fields(状态压缩DP)
一道状态压缩DP入门的题。学习下状压DP。 题目大意: 给你一个n*m的图。为0不能放羊,为1可以放羊,一个格子只能放一只羊,并且不能有羊相邻的情况有多少种。状态压缩就是将状态用一个十进制数来表示,十进制数用二进制表示就可以表示状态,所以会用到位运算。 dp[i][j]:=第i行状态为j的方案数; 对于可以放羊的位置,如果放羊则为1,不放则为0; 样例第一行有8种情原创 2016-08-11 16:11:28 · 435 阅读 · 0 评论 -
【HDU5823】color II(状压DP)
记录一个菜逼的成长。。 令dp[s]为子图S已经染色的最少染色数,那么有dp[s]=min(dp[s],dp[s^s0]+1)其中s0是S的独立子集,可以全部染成一种颜色。#include <cstdio> #include <iostream> #include <cstring> #include <string> #include <algorithm> #include <cstdlib>原创 2016-08-13 20:30:28 · 303 阅读 · 0 评论 -
【HDU5816】Hearthstone(状压DP)
推荐几篇好看懂的博客。 参考博客: http://blog.csdn.net/qq_21057881/article/details/52167285 http://blog.csdn.net/zzz805/article/details/52169725我的代码,是卡过去的。。#include <cstdio> #include <iostream> #include转载 2016-08-14 11:02:41 · 283 阅读 · 0 评论 -
【HOJ2662】Pieces Assignment(状压dp)
题目链接 PS:这是旧OJ的题,代码在新OJ里同样的题却T了,,或许加强数据了吧。然而我外加了个数组,却wa了。让我有点怀疑确定不是数据的问题?题目: 有一个n*m的棋盘(n、m≤80,n*m≤80)要在棋盘上放k(k≤20)个棋子,使得任意两个棋子不相邻(每个棋子最多和周围4个棋子相邻)。求合法的方案总数。经典的棋盘问题。 显然直接暴搜会T。 对于这类数据在10左右原创 2017-04-06 21:22:31 · 249 阅读 · 0 评论 -
【ZOJ3777】Problem Arrangement(状压dp)
题目链接 题目大意: 有n道题,第i道题放在第j个有价值PijP_{ij} 有T组数据。 有n道题,给你一个价值m。 问有多少种方案使得总价值大于等于m。 输出方案数/总数(分数最简) 不存在则输出”No solution”.如果直接搜的话,时间复杂度是O(n!)的,n<=12显然会超时。 考虑dp,考虑状态压缩dp。 我一开始想的是dp[i][j] :=原创 2017-04-06 21:54:46 · 306 阅读 · 0 评论