TreeDP
BrooksBUAA
这个作者很懒,什么都没留下…
展开
-
[BZOJ 4813][Cqoi2017]小Q的棋盘:TreeDP
点击这里查看原题简单的TreeDP。f[i][j][0]表示从i点出发走j步不需要回到起点的最大点数,f[i][j][1]表示需要回到起点的最大点数。/* User:Small Language:C++ Problem No.:4813 */ #include<bits/stdc++.h> #define ll long long #define inf 999999999 using namesp原创 2017-04-15 11:41:49 · 677 阅读 · 2 评论 -
[BZOJ 3302][Shoi2005]树的双中心:TreeDP
点击这里查看原题首先可以想到n^2做法,枚举每一条边,切断这条边变成两棵树,对两棵树各O(n)求一遍重心,加和即为答案 但是题目中有一个重要条件,高度h不超过100,因此可以O(h)求重心,即每次向权值和最大的儿子转移(维护时需要维护最大和次大)。 总复杂度O(nh)/* User:Small Language:C++ Problem No.:3302 */ #include<bits/stdc原创 2017-06-12 16:01:04 · 631 阅读 · 0 评论