摘要:
提供一种轻重链剖分+dp的做法 先把2树的倍增数组预处理好,用下面这个方式查询可以省去上跳的时间(直接欧拉序也行,不过比赛的时候能想到欧拉序我就不会写dp了QAQ): int lca(int u, int v) { if (d[u] > d[v])swap(u, v);//默认v的深度较大 whil 阅读全文
摘要:
贪心的策略有些问题,如果用堆维护最长段对半分显然不会是最优的(尽量均分成3段比中间切一刀加上左1/4切一刀更优) 正确的贪心策略是堆维护把一段均分成x段的变成均分成x+1段可以减少多少权值,每次取最大肯定是最优的。 #include<bits/stdc++.h> using namespace st 阅读全文