随笔分类 - 分治
摘要:题目描述 题目传送门 分析 看到比值的形式就想到 01分数规划01分数规划,二分答案 设当前的值为 midsmids 如果存在∑e∈Sv(e)|S|≥mids∑e∈Sv(e)|S|≥mids 那么 \(\sum _{e \in S} v(e)-|S| \times mids \g
阅读全文
摘要:题目描述 题目传送门 分析 路径问题考虑点分治 对于一个分治中心,我们可以很容易地得到从它开始的一条路径的价值和长度 问题就是如何将不同的路径合并 很显然,对于同一个子树中的所有路径,它们起始的颜色是相同的 因此我们可以将一个节点的所有子结点按照颜色排序 这个可以在建图之前处理好 然后开两个权值线段
阅读全文
摘要:题目描述 分析 对于测试点11、22,直接搜索即可 对于测试点3∼63∼6,树退化成一条链,我们可以将其看成序列上的染色问题,用线段树维护颜色相同的最长序列 对于测试点77、88,肯定是车的速度越大能经过的道路越少,所以我们用类似并查集的方法从大到小依次维护联通块的直径,这里要用到一
阅读全文
摘要:Mokia CDQ分治+容斥 题目描述 维护一个W×WW×W的矩阵,初始值均为SS.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M≤160000M≤160000,询问数Q≤10000,W≤2000000Q≤10000,W≤2000000. 输入格式 第一行两个整数S,WS,W;其
阅读全文
摘要:洛谷 P4093 [HEOI2016/TJOI2016]序列 CDQ分治优化DP 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他。 玩具上有一个数列,数列中某些项的值可能会变化,但同一个时刻最多只有一个值发生变化。现在佳媛姐姐已经研究出了所有变化的可能性,她想请教你,能否
阅读全文
摘要:#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=1e6+5; struct asd{ int from,to,next,val; }b[maxn]; int head
阅读全文