摘要:
题意:给定一棵树,求切出有n个结点的子树至少要切几条边。解法:dp[i][j]记录使得以i为根的子树有j个结点最少要切几条边 dp[i][j]=min(dp[i][j],dp[i][j-k]+dp[son[i]][k]) 最后统计答案时要注意,如果不是根节点还要+1...切掉这个节点与其父亲之间的边 1 #include<iostream> 2 #include<vector> 3 #include<cstring> 4 #include<algorithm> 5 #define N 200 6 using namespace std; 7 co 阅读全文
摘要:
250pt.题意:给定n块砖,编号0~n-1,选一定的砖摞起来,要求上面的砖编号比下面的大,并且偶数高度的不能放在奇数高度的上面,求最大高度。解法: dp[i][0]记录选完前i块并且此时最上面一块高度为偶数的最优解 dp[i][1]记录选完前i块并且此时最上面一块高度为奇数的最优解。。。250pt 1 #include<iostream> 2 #include<string> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector> 6 #define N 100 7 阅读全文