随笔分类 -  算法(二分分治

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