随笔分类 - 算法(二分分治
摘要:用vector维护每种颜色出现位置,二分左右端点,右端点用upperbound,交换直接把vector里的也交换 #include<bits/stdc++.h> #define pb push_back using namespace std; const int maxn=300009; int
阅读全文
摘要:部分分:m=1 直径,菊花图 对边权排序,每次取最大最小合并,链 dp覆盖啥的 二叉树的话,二分答案,每个儿子要么和x连在一起往上传,要么和另外一个儿子合并(长度和大于mid),(统计以点x为lca的),x取大的儿子的f值,因为 正解把菊花图和二叉树合在一起,对每个点的儿子不断取两个边权加起来刚好大
阅读全文
摘要:https://www.cnblogs.com/LukeStepByStep/p/7420829.html 首先要发现一个区间如果是连续区间,因为是一个排列没有重复数字,那么一定有$r-l+1==max(a[i])-min(a[i]) (l<=i<=r)$ 然后考虑分治,每次计算$l,r$在$mid
阅读全文

浙公网安备 33010602011771号