摘要: 大概的题意是给出n,p,一共有n个节点,问你要剩下p个节点,最少减去最少的边是多少。dp[root][i]:记录root结点,要得到一棵i个节点的子树去掉的最少边数详细解释看代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 160 6 #define INF 0x3ffffff 7 8 int dp[N][N],son[N],bro[N],fa[N]; 9 int root,n,p;10 11 void dfs(int root)12 {13 int tem;14 for(int i... 阅读全文
posted @ 2014-04-11 11:27 霖‘ 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 using namespace std; 5 #define N 15 6 #define mod 100000000 7 8 int map[N][N],map_num[N],dp[N][1<<N]; 9 10 bool check_raw(int num)//判断同一行上是否合法,如10110则不合法11 {12 for(int i=1; i<num; i<<=1 )//一位一位判断,每合法一位则左移一位13 {14 if((num & i) != 0 && (num 阅读全文
posted @ 2014-04-11 11:25 霖‘ 阅读(148) 评论(0) 推荐(0) 编辑