码迷,mamicode.com
首页 >  
搜索关键字:状态压缩 198    ( 1179个结果
POJ 2411Mondriaan's Dream
蛮水的状态压缩 #include #include long long dp[15][(1<<12)+10]; int mark[(1<0) { if((w&1)==1) { k++; } else { if((k&1)==1) return 0;...
分类:其他好文   时间:2015-01-26 21:09:20    阅读次数:201
HDU 3681 Prison Break
/* 给一个n*m的图,F代表起点,G代表充电池,一个充电池只能用一次,但可以用多个充电池,只能把电池充到最大(原始的电量),可以走过不用,D不能走, 问的是把所有的Y走一遍的原始的电量是多少 dp+状态压缩+二分+bfs dp[i][j]表示的状态是在i状态到达j的最大的电量 */#include #include #include #define Max(a,b) a>b?a:b #...
分类:其他好文   时间:2015-01-26 15:08:05    阅读次数:170
自动化脚本中运到的一些简单算法
如何在自动化脚本中,写个扩展性较好的生成全排列Case的代码?...
分类:编程语言   时间:2015-01-26 13:46:38    阅读次数:141
UVA 10651 --Pebble Solitaire +dfs
这道题有两种做法:搜索和状态压缩dp 因为这个题的状态只要2^12,所以可以用dfs或bfs将所有的可达状态走一遍,然后就可以得到答案了。 我是用二进制压缩以后再进行的dfs;其实也可以直接开一个12位长度数组表示状态,然后dfs或bfs,这样 状态判重可以用hash或二进制压缩。 代码如下: #include #include #include using namesp...
分类:其他好文   时间:2015-01-25 21:07:17    阅读次数:131
HDU 4539 郑厂长系列故事――排兵布阵
/* 曼哈顿距离的定义是:两个点的坐标为(x1,y1),(x2,y2),两点的曼哈顿距离为|x1-x2|+|y1-y2| 题意:题上要求是两个士兵的距离不能是曼哈顿距离为2,意思就是这个点在同一行同一列不能相间,这个点的左上,左下,右上,右下角不能有 士兵. 思路:dp+状态压缩dp[i][j][k]定义的状态为i是当前行,j为当前行的状态,k为上一行的状态类似炮兵阵地 */#inclu...
分类:其他好文   时间:2015-01-24 10:15:38    阅读次数:150
zoj 3471状态压缩DP
#include #include int max(int a,int b) { if(a>b) return a; return b; } int dp[100000],map[15][15],mark[15]; int main() { int i,j,n,m,k; while(scanf("%d",&n)!=EOF&&n) { for(i=1;i<=n;i++) for...
分类:其他好文   时间:2015-01-23 23:04:19    阅读次数:194
HDU 3001 Travelling 状态压缩dp+3进制
题意:一个人要旅行,他要去n个地方,且这n个地方每个地方最多可以走2次; 给m条路径,寻问最短花费 很明显的状态压缩,但是要求每个点最多只能走两次,就没办法标记当前点走过或是没走过,只能用三进制来表示 1代表地点1被走过一次、 2代表地点1被走过两次、  3(即10)代表地点2被走过一次、  4(即11)代表地点1被走过一次,地点2被走过一次、  5(即12)代表地点1被走过两次,地...
分类:其他好文   时间:2015-01-22 20:22:40    阅读次数:176
POJ 3311 状态压缩DP
题意:求从0点走到所有点又走回来的最短距离 该题又很多做法,我用的是弗洛伊德+状态压缩 先遍历所有点,求出两点间最短的距离,而后用状态压缩表示该点是否走过,(1 附AC代码 #include #include int map[12][12]; int dp[(1<<12)+1][12]; int min1(int a,int b) { if(a<b) return a; return...
分类:其他好文   时间:2015-01-22 11:09:13    阅读次数:160
HDU 1565 方格取数(1)
/* dp+状态压缩和炮兵阵地类似 */#include #include #define Max(a,b) a>b?a:b int dp[25][20000],s[20000],len,Map[25][25],n; int check(int m) { if(m&(m<<1)) return 0; return 1; } void Inint() { ...
分类:其他好文   时间:2015-01-22 09:30:21    阅读次数:188
POJ 1038 Bugs Integrated, Inc.(状态压缩)
Bugs Integrated, Inc.Time Limit: 15000MSMemory Limit: 30000KTotal Submissions: 9088Accepted: 3472Case Time Limit: 5000MSDescriptionBugs Integrated, In...
分类:其他好文   时间:2015-01-21 19:45:36    阅读次数:163
1179条   上一页 1 ... 86 87 88 89 90 ... 118 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!