摘要:
http://poj.org/problem?id=1463DP,树状DP,或二分图匹配 1 #include <iostream> 2 #include <stdio.h> 3 #include <string.h> 4 #include <vector> 5 using namespace std; 6 7 const int N = 1505; 8 9 int pre[N];10 bool flag[N];11 vector<int> map[N];12 int n;13 14 int find(int x)15 {16 int 阅读全文
posted @ 2013-05-23 19:52
Yuan1991
阅读(154)
评论(0)
推荐(0)
摘要:
http://poj.org/problem?id=1947DP,树状DP一棵节点为N的树,去掉最少的边,满足剩下树中,有一棵树的节点数为P还要用分组背包优化,分组背包自己想的思路,写的比较难看。。。dp[i][j]:表示以节点i为根的树,如果想要保证有j个节点,至少要去掉的边数对于每组dp[i],只能选一种j,如果不选这一组,也要多消耗1的费用叶子节点初始化:dp[i] = {0, 1, 正无穷, 正无穷.......};之后看了一下背包九讲:还可以把每个节点看成一个物品,那就成了背包九讲中的“泛化物品”背包,之前没理解泛化的意思,现在有了一个大概的理解了安背包九讲的定义,这题可以简述成:有 阅读全文
posted @ 2013-05-23 17:55
Yuan1991
阅读(145)
评论(0)
推荐(0)

浙公网安备 33010602011771号