码迷,mamicode.com
首页 >  
搜索关键字:状压dp 输出路径 概率期望    ( 1806个结果
POJ 1185 炮兵布阵 状压DP
链接:http://poj.org/problem?id=1185 题意:一个地图上有两种地形,H和P,P上可以放一个炮,攻击范围是上下左右各两格,问的是最多可以再地图上放多少个炮。行N 思路:因为上下左右各两格内不能放置炮,所以每一行的状态数从2^10减少到60种。状态转移方程为:dp[i][j][k]=max(dp[i-1][k][l]+bb[j])。dp[i][j][k]表示在第i行状...
分类:其他好文   时间:2014-07-21 16:21:13    阅读次数:272
动态规划第4讲——计数问题中的DP算法
DP不仅广泛用于各种最优化问题,也常常用于排列组合的个数、概率期望计算等等,因为这些问题往往具有很好的“ 重叠子问题”特性,这些问题往往都起源于排列组合中的组合公式A(n, k) = A(n-1, k) + A(n-1, k-1) 例一:求解划分数 有n个无差别的物品,将他们划分成不超过m组,求划分方法数除以M的余数。 分析:dp[i][j]j的i划分的总数 dp[i][j] = ...
分类:其他好文   时间:2014-07-21 15:48:06    阅读次数:268
POJ 3254 Corn Fields 状压DP
链接:http://poj.org/problem?id=3254 题意:一块M*N的田地,每小块地大小是1*1,可以种植物的标记为1,不可以种植物的标记为0,并且相邻的两块地不可以同时种植物。问题是有多少种不同的种植方案(所有地都不种也是一种种植方案) 思路:这是第一道状压DP题,从第一行更新到最后一行,每一行用一个N位的二进制数来表示该行的状态1表示该位置种了植物,0表示该位置没种植物。因...
分类:其他好文   时间:2014-07-19 23:46:58    阅读次数:387
poj 3254 Corn Fields 状压dp
#include #include using namespace std;#define mod 100000000int M,N,top=0;int cur[20],dp[20][600];int state[600],num[110];bool ok(int x){ if(x&x<<1)...
分类:其他好文   时间:2014-07-16 18:57:07    阅读次数:229
状压dp
用dfs,累加答案,或者什么的。他可能还会有一些限制,加点判断就好。sgu 131#include using namespace std;#define LL long long int n, m, i;LL f[10][512]; void dfs(int j, int opt1, int op...
分类:其他好文   时间:2014-07-16 18:55:55    阅读次数:186
Codeforces 35E Parade 扫描线 + list
题目链接: 题意:给定n个矩阵(底边总是贴着x轴) 然后找到一条包围在矩阵上方的路径,输出路径上的点 给定n 下面n行给定 y [x1, x2] 表示矩阵的高度和2个x轴坐标 思路: 扫描线维护每段区间的线段 最大的y值 则我们访问每个x轴坐标,就相当于访问x轴坐标向右最短的那个小区间上的最大y值。 则可以得到[x,y] 和 [x+1, y] 这样2个点 当我们发现存在高度差时(...
分类:其他好文   时间:2014-07-16 14:07:19    阅读次数:245
Spoj 9894 Tichu 状压dp
题目链接:点击打开链接 题意: 给定13张各不相同的扑克牌,问最少需要几手打出 每手打出的牌必须符合以下任意标准之一: 1、任意单张 2、相同数字2张 3、相同数字3张 4、相同数字4张 5、相同数字3张+相同数字2张 6、连续5个及5个以上的数字 思路: 状压dp,dp[i]表示选了i的状态的最小牌数 然后要预处理出能一次打出的状态,这样不会t。。 #inclu...
分类:其他好文   时间:2014-07-15 22:45:44    阅读次数:341
uva 11825 Hackers&#39; Crackdown (状压dp,子集枚举)
题目链接:uva 11825题意:你是一个黑客,侵入了n台计算机(每台计算机有同样的n种服务),对每台计算机,你能够选择终止一项服务,则他与其相邻的这项服务都终止。你的目标是让很多其它的服务瘫痪(没有计算机有该项服务)。思路:(见大白70页,我的方程与大白不同)把n个集合P1、P2、Pn分成尽量多的...
分类:其他好文   时间:2014-07-13 11:07:49    阅读次数:182
HDU 4856 Tunnels(BFS+状压DP)
HDU 4856 Tunnels 题目链接 题意:给定一些管道,然后管道之间走是不用时间的,陆地上有障碍,陆地上走一步花费时间1,求遍历所有管道需要的最短时间,每个管道只能走一次 思路:先BFS预处理出两两管道的距离,然后状态压缩DP求解,dp[s][i]表示状态s,停在管道i时候的最小花费 代码: #include #include #include #inc...
分类:其他好文   时间:2014-07-09 11:01:43    阅读次数:263
HDU 4856 Tunnels (最短路+状压DP)
题意:给你N*N的网格,‘.’表示可以走,‘#’表示不能走,m条管道,每条管道有起点和终点坐标, Bob每次可以走到相邻的网格花费1s,问Bob走完m条管道要花多少时间;Bob在管道内不计算时间 即计算Bob从管道 i 的出口走到管道 j 的入口的时间Dis(e[i],s[j])的最小和,起点可以任意; 思路:看了题解说是状态压缩DP然后深入理解了下。 首先...
分类:其他好文   时间:2014-07-09 10:14:02    阅读次数:234
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!