Loading

随笔分类 -  题解

摘要:对于这种有很多相交的二元限制,可以考虑建图。 对于 \((a_i,b_i)\),连无向边 \((a_i,b_i)\),得到 \(N\) 个点,\(M\) 条边的无向图。对于一条边 \((a_i,b_i)\),称 \(a_i\) 是这条边的 \(\mathrm{A}\) 端,\(b_i\) 是这条边的 阅读全文
posted @ 2026-05-04 16:15 complexor 阅读(17) 评论(0) 推荐(0)
摘要:题意:给定一个二分图,左部 \(n-1\) 个点,右部 \(n\) 个点。求出一组匹配,每条边可以匹配多次,要求每个左部点匹配 \(n\) 次,每个右部点匹配 \(n-1\) 次。 直接跑网络流复杂度不太对劲,考虑 Hall 定理:对于 \(S\subset L\),有 \(n|S|\le (n-1 阅读全文
posted @ 2026-04-29 16:24 complexor 阅读(20) 评论(0) 推荐(0)
摘要:弱化版:CF1284G。 注意到网格图是二分图,则原题可以转化为:给定一张二分图,求出一棵生成树,使得所有叶子都在二分图的同一侧。 不妨设二分图两侧点集分别为 \(L,R(|L|\le |R|)\)。 当 \(|L|=|R|\) 时,假设叶子都在 \(R\),则 \(L\) 中每个点在最后的生成树中 阅读全文
posted @ 2026-04-29 14:58 complexor 阅读(17) 评论(0) 推荐(0)
摘要:根据期望线性性,可以转化为求第 \(i\) 个人获得第 \(x\) 题首杀的概率,进一步转化为第 \(i\) 个人在时间 \(t\) 获得 \(x\) 题首杀的概率。设第 \(i\) 个人能解决 \(c_i\) 题(即 \(c_i\) 个 \(a_{i,j}\) 非零),则总方案数是 \(\prod 阅读全文
posted @ 2026-04-27 15:46 complexor 阅读(12) 评论(0) 推荐(0)
摘要:前排声明:下文是一种 \(\mathcal O(n\log n)\) 的线段树合并做法,本题应该还存在一种线性做法(至少离散化后线性,或者带值域线性 \(\mathcal O(n+m+V)\)),但是我还不会。 首先可以发现题目中的“矩形不相交”限制不重要,任意一种允许相交的矩形覆盖方案都可以调整为 阅读全文
posted @ 2026-04-27 10:47 complexor 阅读(13) 评论(0) 推荐(0)
摘要:根号分治。 记 \(S=\sum|s_i|,T=\sum|t_i|,K=\sum k_i,\) 对于 \(|s_i|>B\),这样的 \(s_i\) 只有 \(\mathcal O(\frac{S}{B})\) 个。而对于任意 \(s_i\),依次考虑匹配 \(t_{a_1},t_{a_2},\do 阅读全文
posted @ 2026-04-27 10:46 complexor 阅读(21) 评论(0) 推荐(0)
摘要:首先是结论:将树上的点 \(0/1\) 染色,如果每个点相邻的同色点不超过 \(2\) 个且删去这个点后同时包含 \(0/1\) 两种颜色的连通块不超过两个,等价于存在一种将所有 \(0\) 点放在第 \(0\) 行,所有 \(1\) 点放在第 \(1\) 行,且 \(m=\max(cnt_0,cn 阅读全文
posted @ 2026-04-27 10:44 complexor 阅读(14) 评论(0) 推荐(0)
摘要:感觉是一个 \(\mathcal O(n)\) 做法。 下文中 \(deg\) 指以 \(1\) 为根儿子个数。 问题可以转化为构造另一棵以 \(1\) 为根的树,使得每个点的 \(deg\) 不变,且所有关键点的深度之和最小。转化过程略去。 首先是一个结论:将所有点按以度数为第一关键字,是否为关键 阅读全文
posted @ 2026-04-25 07:48 complexor 阅读(14) 评论(0) 推荐(0)
摘要:称初始链上的边 \((i,i+1)\) 为链边 \(i\),称一条新加入的边 \((u,v)(u\le v)\) 覆盖了链边 \(u\sim v-1\)。这 \(n-1\) 条链边是最重要的已知条件,所以考虑对删去的两条边中的链边分类讨论(设当总共有 \(tot\) 条边): 若删去的均不是链边,这 阅读全文
posted @ 2026-02-04 15:55 complexor 阅读(37) 评论(0) 推荐(0)
摘要:记 \(S=\sum_{i=1}^n|t_i|\)。 可以对题面中的“词元”进行离散化,这就是一个字符集大小为 \(S\) 的 字符串问题。 考虑对于固定的 \(k\) 如何计算答案。题意要求为构造一个二元函数 \(f\),满足对每一对字符串和字符 \(a,b\)(\(a\) 为字符串 \(b\) 阅读全文
posted @ 2026-01-01 23:24 complexor 阅读(47) 评论(0) 推荐(0)
摘要:并且任意两座城市之间的最短路经过的道路数都小于 36。 前排提示:题面中这句话保证了给出的是一棵直径不超过 \(36\) 的树,但实际上这个题有一个完全不需要这个性质的 \(\mathcal O(n^2)\) 做法,如果你因为这个性质误入歧途可以重新思考一下。 \(k\le 2\) 的情况时平凡的, 阅读全文
posted @ 2025-12-18 09:12 complexor 阅读(31) 评论(0) 推荐(0)
摘要:由四个点四条边构成的图形有以上三种,其中前两种符合题目要求,称为凸四边形和凹四边形。 为了计数不包含其它点的四边形,考虑枚举一些东西。从时间复杂度上考虑,枚举一个点信息太少,枚举三个点已经 \(\mathcal O(n^3)\) 的复杂度,很难再做别的部分了,所以枚举两个点比较合适。一个想法是枚举一 阅读全文
posted @ 2025-12-17 21:37 complexor 阅读(27) 评论(0) 推荐(0)
摘要:首先转化一下题意。题目重点是无序二元组,不难由此想到图论建图。下面直接给出转化后的题意:给定 \(n\) 个点,\(2n-3\) 条边的无向简单图(\(n\ge 4\)),求出图中两个长度相等的不同简单环(这里不同定义为边集不完全相等),或报告无解。 直接出图论版本多好,现在这个题面看上去像硬编出来 阅读全文
posted @ 2025-12-16 20:52 complexor 阅读(13) 评论(0) 推荐(0)
摘要:将环复制两遍拼在前面和后面,转化为序列上的问题。 考虑一个暴力做法。枚举最后点对齐到第 \(i\) 列上,那么每一行肯定是将第 \(i\) 列左边第一个点或者右边第一个点转过来。这样可以直接二分做到 \(\mathcal O(MR\log n)\)。也可以对 \(i\) 扫描线加上一点手法做到 \( 阅读全文
posted @ 2025-12-15 16:14 complexor 阅读(13) 评论(0) 推荐(0)
摘要:显然可以对区间端点继续离散化,下面设区间端点都在 \([1,2n]\) 内。 不难看出,如果将建一张图,每个点代表原题中的一个区间,两个区间相邻则连一条边,那么两个区间相关当且仅当这两个点在图上连通。 同一个连通块的点不能放在同一个会议室,而一个会议室可以容纳任意多两两不连通的点,故题目可以转化为删 阅读全文
posted @ 2025-12-14 22:45 complexor 阅读(24) 评论(0) 推荐(0)
摘要:不妨设 \(X\le Y\le Z\),目标状态是 \(X=0\)。操作次数上限不大,尝试考虑每次让 \(X\) 成比例减少(例如折半)。 设 \(a=\frac{Y}{X},b=\frac{Z}{X}\)。当 \(a\) 为正整数时考虑以下流程: 若 \(a\) 为偶数,将 \(Z\) 往 \(X 阅读全文
posted @ 2025-12-14 22:45 complexor 阅读(34) 评论(0) 推荐(0)
摘要:题目大意 给定一张带权有向图向图,设 \(d_x\) 为点 \(x\) 到点 \(n\) 的最短路长度(不存在则为 \(+\infin\))。对于所有点 \(x\) 满足 \(d_x\neq+\infin\),需要选择其一条满足 \(d_x=d_y+w\) 的出边 \((x,y,w)\) 作为“默认 阅读全文
posted @ 2025-12-14 22:44 complexor 阅读(32) 评论(0) 推荐(0)
摘要:环上问题比较麻烦,考虑断环成链。 一个观察:如果起始位置不是最小值,那么最小值一定最后一个被取走。起始位置为最小值可以直接 \(\mathcal O(n)\) 模拟。下面将最小值旋转到下标 \(n\),转化为 \([1,n-1]\) 上的序列问题。 这个问题与序列上的区间和数的大小有关,可以考虑建出 阅读全文
posted @ 2025-12-14 22:44 complexor 阅读(20) 评论(0) 推荐(0)
摘要:题意即为:给定一棵有根树,维护以下两种操作: 将点 \(x\) 到根路径上所有边颜色改为 \(c\); 查询出现 \(k\) 次的颜色种数。 考虑维护同色树上连续段。具体地,当修改 \(x\) 到根的路径时,将 \(x\) 到根上的所有点从它们原来所在的连续段断开,并将这些点缩成一个新的连续段。 不 阅读全文
posted @ 2025-11-30 21:11 complexor 阅读(23) 评论(0) 推荐(0)
摘要:最小直径生成树模板。 众所周知,边权全为正的树的所有直径中点重合(有可能在一条边上)。直径问题经常考虑这个点。对于一棵树,设点 \(x\) 到直径中点的距离为 \(d_x\),直径为 \(D\),则 \(D=2\max_x{d_x}\)。进一步,如果将 \(d_x\) 改为 \(x\) 到任一其他点 阅读全文
posted @ 2025-11-30 21:10 complexor 阅读(28) 评论(0) 推荐(0)