摘要: 整体二分一般适用于解决可以若干次二分解决的问题,当进行若干次二分的复杂度无法接受时,就可以使用整体二分。 可以使用整体二分解决的题目需要满足以下性质: 1.询问的答案具有可二分性 2.修改对判定答案的贡献互相独立,修改之间互不影响效果 3.修改如果对判定答案有贡献,则贡献为一确定的与判定标准无关的值 阅读全文
posted @ 2024-07-19 20:13 victoryang 阅读(2) 评论(0) 推荐(0) 编辑
摘要: CDQ 分治的流程大致是将对于区间 \([l,r]\) 中点 \(x,y\) 的计数分为两类处理: \(x,y\) 均位于 \([l,mid]\) 或 \([mid+1,r]\) 中,这样的点对贡献可以递归解决。 \(x,y\) 分别位于 \([l,mid]\) 和 \([mid+1,r]\) 中, 阅读全文
posted @ 2024-07-17 15:37 victoryang 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 线段树分治是一种通过线段树维护时间轴,实现一些可撤销的信息维护问题的手段。 线段树分治是离线算法。 具体地,对于若干个修改与询问,按照时间戳像区间修改一样挂在线段树的节点上,然后遍历整棵线段树,将节点上的操作计入贡献,对于一个时间戳为 \(t\) 的询问,线段树上区间 \([t,t]\) 即为答案, 阅读全文
posted @ 2024-07-11 09:27 victoryang 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 我们设两个奇数为 \(x=2a+1,y=2b+1\)。显然有 \(x\bmod 2 =y \bmod 2 =1\) 又因为 \(x^2=(2a+1)^2=4(a^2+a)+1\),同理可得 \(y^2=(2b+1)^2=4(b^2+b)+1\) 所以 \(x^2 \bmod4 =y^2 \bmod4 阅读全文
posted @ 2024-07-01 10:58 victoryang 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 最大流 类型一 路径覆盖 P2764 最小路径覆盖问题 我们考虑初始情况下,每个点都独立作为一条路径存在,当我们合并两条路径时,总路径数减一,若要使总路径数最小,则要使得合并的路径最多。同时,路径之间的合并是不会互相干扰的,那么我们只需要找出一个方案使得配对数最多即可,这个问题等价于二分图最大匹配, 阅读全文
posted @ 2024-06-26 17:29 victoryang 阅读(8) 评论(1) 推荐(0) 编辑
摘要: 咕咕咕中 本文不提供所有公式严格证明,包含大量感性理解() 1.基本公式 【命题 $ 1.0 $】 \[\dbinom{n}{m}=\dbinom{n-1}{m}+\dbinom{n-1}{m-1} \]从 $ n $ 个物品中取 $ m $ 个分为两种情况:包含一个物品 $ i $ 或不包含 $ 阅读全文
posted @ 2024-02-26 21:34 victoryang 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 看到 01 串的反转考虑维护异或差分序列 \(s_i=a_i \oplus a_{i-1}\)。 这样区间反转就变成了单点修改。 然后考虑怎么查询: 若一个区间 \([l,r]\) 是好区间,那么对于 \(i \in [l+1,r]\) 一定存在 \(s_i=1\)。所以我们可以查询区间和来判断是否 阅读全文
posted @ 2024-02-18 14:53 victoryang 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 首先进行排序,显然只有排序后相邻两个元素匹配才有可能成为答案。 我们设 \(b_i=a_i-a_{i-1}\),则问题转化为:在 \(b\) 数组中选 \(m\) 个数(显然一个 \(b\)),两两不能相邻,求这些数和最小值。 就和这道题一模一样了,使用反悔贪心。 具体的,我们可以将所有 \(b_i 阅读全文
posted @ 2024-02-01 16:10 victoryang 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 将图按照邻接矩阵存为一个矩阵,则有性质为:该矩阵的 \(k\) 次方反映了 在该图上恰好走 \(k\) 次的可达性。 有了这条性质可以按边权将所有边排序,在图上动态加入能新走的边,用矩阵快速幂处理出当前图恰好走这条边边权次的可达性矩阵。每新加入一条边,用 floyd 求出加入这条边影响后新的最短路。 阅读全文
posted @ 2023-10-14 17:20 victoryang 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 项链 题解 阅读全文
posted @ 2023-10-04 16:17 victoryang 阅读(12) 评论(0) 推荐(0) 编辑