题目:hdoj 5125 Little Zu Chongzhi's Triangles
题意:给出n个木棍的长度,然后问这些木棍所能组成三角形的最大面积。
分析:这个题目用状态压缩解,因为木棍的最大个数为12
我们枚举所有状态,用状态对应位的 0 和 1 表示这个木棍是否选择,然后如果某个状态选择的木棍是3的话,判断是否可以组成,可以的话dp【st】 = 三角形面积
然后大...
分类:
其他好文 时间:
2014-12-05 21:17:57
阅读次数:
159
错误的转移方程
dp[i][j] 把i当作了步数,以为至多走N步就可以了。作死啊
#include
#include
#include
#include
#define maxn 1100
#define inf 0x3f3f3f3f
const double eps=1e-8;
using namespace std;
int dp[12][1<<12];
int maps[12][12];...
分类:
其他好文 时间:
2014-11-26 21:03:10
阅读次数:
359
题意:给若干种个串,再给个主串,然后把主串打乱顺序,使得包含子串尽量多(一种可以有多个,两个之间可以部分重叠)。如第一组数据,ACGT,包含AC、CG、GT,三个,输出3。第二组数据A1A2A3,包含A1A2和A2A3两个“AA”,答案为2。
其实我并没有AC。我被卡常数TLE了。。。实在不想写这种没意义的东西了。
贴代码,待填坑。
#include
#include
#...
分类:
其他好文 时间:
2014-11-26 21:02:32
阅读次数:
211
有点点小虐心。
#include
#include
#include
using namespace std;
const int ternarys[12] = { 0, 1, 3, 9, 27, 81, 243, 729, 2187, 6561, 19683, 59049 };
int DP[2][59049];
int bit_map[155][15];
int pre_li...
分类:
其他好文 时间:
2014-11-25 18:39:29
阅读次数:
177
状态压缩DP,注意不能选的地方和不挨着对本行一个意思,本行自己选的是另一个意思。可相邻与范围限制不同。
#include
#include
#include
#include
#include
#include
#include
#define inf (1<<30)
#define MOD 100000000
using namespace std;
typedef long ...
分类:
其他好文 时间:
2014-11-23 23:29:33
阅读次数:
249
简单题,边界处理注意。可以优化,就不精益求精了。
#include
#include
#include
#include
using namespace std;
#define MOD 100000000
int field[20];
int DP[20][1200];
int main(){
int N, M;
cin >> N >> M;
me...
分类:
其他好文 时间:
2014-11-23 16:04:40
阅读次数:
170
题意:平面上有 n (2 ≤ n ≤ 15) 个点,现用平行于坐标轴的矩形去覆盖所有点,每个矩形至少盖两个点,矩形面积不可为0,求这些矩形的最小面积。
题目链接:http://poj.org/problem?id=2836
——>>因为每个矩形至少要盖两个点,所以,枚举所有的两点组合。。
状态:dp[S] 表示将集合 S 中的所有点覆盖的最小矩形面积
状态转移方程:dp[news] = m...
分类:
其他好文 时间:
2014-11-21 18:50:29
阅读次数:
180
题意:N(1
题目链接:http://poj.org/problem?id=1691
——>>状态:dp[S][color] 表示达到状态 S 且最后一次涂色为 color 时的最小取画笔数
状态转移方程:dp[S][color] = min(dp[S][color], dp[sub][i]); 或者 dp[S][color] = min(dp[S][color], dp[sub][i] ...
分类:
其他好文 时间:
2014-11-21 14:24:22
阅读次数:
203