摘要:
其实在tzt版线段树的基础上稍微加一些东西就好了。我们不预先开点,每当需要用到一个点时,我们才开。空间复杂度可以优化到 m(查询)log n。 code(线段树1,其实这道题用动态开点没啥意义没啥意义,当作练习) include include include include include inc 阅读全文
摘要:
树论 一道大水题,直接放代码: code: include include include include include define int long long define half (l+r) 1 const int maxn=2000006; using namespace std; in 阅读全文
摘要:
树形背包dp,求整体贡献。 别的树形dp一般是考虑子树的最优解,但这道题由于每次转移都会对全局提供贡献,所以我们考虑贡献。令dp[i][j]表示以i为根的子树选j个点最多能为最终答案做的贡献。那么这道题就转化为了树形背包dp,转移方程: 注意特判 code include include inclu 阅读全文
摘要:
树形dp 大水题,直接放代码了qwq(第二位用0 1 2表示三种状态,大力dp就好了) include include include include include include include include using namespace std; const int maxn=100006 阅读全文
摘要:
树形dp 题目大意: 一个n结点的有根树,树边权均为正数,现在有q次询问,每次询问一个距离,问这个距离从0号点出发最多能经过多少点,同一结点多次经过算1次。 n include include include include include include using namespace std; 阅读全文