题目:在火星上有一些原子,他们相互碰撞会释放能量(例如a、b),并且后面的原子会消失(b消失);
现在给你每个原子各一个,问能产生的最大能量值。
分析:状态压缩 DP。按取数的个数为阶段进行 DP,因为与顺序无关,找到下一状态更新即可。
如果只找一条路径,就是 TSP 问题,可将数组变为二维求解。
说明:要不是多组数据,直接位运算+搜索就可...
分类:
其他好文 时间:
2014-12-22 16:19:34
阅读次数:
116
The Sum of Sub-matricesDescriptionSeen draw a big 3*n matrix , whose entries Ai,j are all integer numbers ( 1 = k). The next three lines with n intege...
分类:
其他好文 时间:
2014-12-17 01:34:34
阅读次数:
260
题目描述: 有一个4*4的矩阵,求最少次的操作,把这16个格子都变成‘-’,每次翻转(i,j)的时候,第i行,第j列也会变为相反的状态。解题思路: 话说条条大路通罗马,这个题目也有很多种方法,1:bfs+状态压缩,2:状态压缩+枚举,3:高斯消元。这些方法都可以,我在这里就说一下我的方法。 根...
分类:
其他好文 时间:
2014-12-15 10:21:05
阅读次数:
247
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3006题意:给定一些集合,求这些集合所能组合的集合个数。分析:这题就是用一个二进制数保存一个集合的元素 比如一个集合中有两个元素 1 3 那就用5 (101)表示这个集合就是用0 1 来表示这个集合中一个...
分类:
其他好文 时间:
2014-12-15 06:30:02
阅读次数:
263
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3811题目大意:给定1~N个数,求出至少满足一个条件的排列总数。M个条件如下:Ai位置的数为Bi分析:通过求出一个条件不满足的排列总数,从而间接的求出满足至少一个条件的排列总数。 dp[n][state]...
分类:
其他好文 时间:
2014-12-14 00:42:55
阅读次数:
188
题意: 给定n*m的棋盘(1
思路:m的范围只有1
状态表示:0代表此处留空,1代表此处被填满。01序列压缩成一个int型来表示一行的填放情况。(例如:状态为4,则代表100,即第一列填满,第二第列三空)
边界条件:
其中,
t = 2^M
代表将前i-1行填满,且第i行放置了状态s时的总方案数。
代表上一行原本放置了状态s2的前提下,当...
分类:
其他好文 时间:
2014-12-12 20:52:15
阅读次数:
175
Beat
Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 669 Accepted Submission(s): 424
Problem Description
Zty is a man that always fu...
分类:
其他好文 时间:
2014-12-10 19:52:42
阅读次数:
192
题目:有n个人分成两组,两组人数差不能超过1,找到两组的人重量之差的最小值。
分析:dp,状态压缩01背包。zoj1880升级版。
首先,考虑二维背包。
因为必须放在两个组中的一组,直接背包所有可到状态,取出相差不超过 1的最接近 sum/2的值即可。
然后,优化。
如果直接利用二维背包,由...
分类:
其他好文 时间:
2014-12-10 10:50:08
阅读次数:
120
这道题是水题,当时直接贪心就过了。
多阶段决策,其实应该用dp,他人的代码使用Vector进行预处理。
#include
#include
#include
#include
#include
using namespace std;
int n, a[12];
double dp[1<<12];
double cal(int a, int b, int c){
if(a+b<=c) ret...
分类:
其他好文 时间:
2014-12-09 09:27:28
阅读次数:
160