08 2023 档案
摘要:[题目链接](https://codeforces.com/problemset/problem/383/E) 拿到这题,看到求答案的方式:“平方的异或和”。这是就能想到可能有两种方式统计答案: * 直接按照他所说的去算。 算出每一种情况下的数量平方再取个异或和。 * 拆贡献 既然是平方,就无异于点
        阅读全文
                
摘要:[原题链接](https://atcoder.jp/contests/arc100/tasks/arc100_c) 不难发现我们可以处理出每个状态所有子集中 $a_i$ 的最大值和次大值,用一个 `pair` 维护,跑一遍 $\text{SOSDP}$,这时每个状态的权值就是最大值加次大值,最终输出
        阅读全文
                
摘要:原题链接 首先我们让 \(c_s\) 表示有多少 \(a_i\) 是 \(s\) 的超集,那么有:取与后是 \(s\) 的超集的集合个数 \(f_s=2^{c_i}\)(这里把空集也认为是 \(s\) 的超集,联系前后文,会发现这样其实不影响计数)。 再让 \(g_s\) 表示有多少集合取与后恰好是
        阅读全文
                
摘要:模板 求高维矩阵的前缀和 每个位置上存的是原来单点的值。 一维 点击查看代码 for (int i = 1; i <= n; i++) a[i] += a[i - 1]; 二维 容斥 点击查看代码 for (int i = 1; i <= n; i++) for (int j = 1; j <= n
        阅读全文
                
摘要:考虑霍尔定理和广义霍尔定理: 霍尔定理:对于一个左部图为 \(X\)、右部图大小为 \(Y\) 的二分图(钦定 \(|X|\leq |Y|\)),存在边数等于 \(|X|\) 的匹配的充要条件是:对于左部图的任何一个点集,右部图中和它相邻的点集大小都大于等于它(相邻的点集指的是所有点出边的并集)。 
        阅读全文
                
摘要:[题目链接](https://codeforces.com/problemset/problem/1288/D) 看到题目中有很多 $\min,\max$,一眼二分答案。 考虑一个常见的套路:假设我们二分的值是 $mid$,那么我们在判断合法性时把数字矩阵变成 $01$ 矩阵:假若 $a_{i,j}
        阅读全文
                
摘要:[题目链接](http://codeforces.com/problemset/problem/1826/E "题目链接") 题意:给定一个物品序列。每个物品有 $m$ 种属性和一个收益(第 $i$ 个物品的第 $j$ 种属性为 $r_{j,i}$)。你需要从原序列中取出几个物品(可以乱序取),并给
        阅读全文
                
摘要:由于每个特工只会监视一个特工,我们判断出这是一颗基环树。 基环树的题目我们往往可以从序列以及树去入手。 考虑序列怎么做。此时存在显然的贪心策略,让 $1,3,5,7,\dots$ 这些位置的特工参与行动。对这个贪心加以分析,不难把它搬到基环树上去贪心——能选 $x$,就不去放弃 $x$ 选 $a_x
        阅读全文
                
摘要:[题目链接](https://codeforces.com/problemset/problem/1103/C "题目链接") 任取一颗 $\text{DFS}$ 树。 如果最大深度 $\geq\frac{n}{k}$,则找到了一条路径。 对于剩下的情况,我们按环去处理。钦定一个合法环中的“代表点”
        阅读全文
                
摘要:题目链接 题意 给出一棵有 \(n\) 个节点的树,要求你将集合 \(\{1,2,\dots,n\}\) 划分成若干个子集,使得没有子集拥有节点对满足两个元素在树上是祖孙关系。你需要最小化子集的最大值之和。 先考虑带有启发性的子任务 \(4\)(树是一颗链)。具体来说,树有以下两种形态: 根节点是链
        阅读全文
                
摘要:与其说树上启发式合并是一种算法,不如说是一种思想。它在于通过”小的并入大的“保证复杂度,从而解决很多看似无法做的问题。 论纯用树上启发式合并的题很少,但是很多题却可以用树上启发式合并去解决。 #### 模板 求解的问题往往具有如下性质: * 每颗子树都有要记录的信息,信息的数量和子树大小有关。 * 
        阅读全文
                
摘要:[题目链接](https://codeforces.com/problemset/problem/1746/F) 这个数据范围,显然出题人出这题的本意不是让我们用带修莫队过题(当然有人过),而我们又难以找到很好的 $\text{DS}$ 维护方法。 故考虑另辟蹊径。对于所有 $a_i,x$,不妨把值
        阅读全文
                
摘要:我么采用区间染色思维去做这题(把 $P_i$ 看做一种颜色)。 钦定最终序列为 $P'$,以及 $l_i,r_i$ 分别为位置 $i$ 左右离 $i$ 最近的 $j$(满足 $P_j>P_i$)。 尝试思考每个颜色最后会覆盖到哪些位置。会发现 $[l_i,r_i]$ 其实就是 $i$ 能覆盖到的极大
        阅读全文
                
摘要:考虑二分答案。于是现在问题转化成了:$S$ 的中位数是否 $\geq x$($x$ 为二分的值)。 可单纯这样,还没法直接做。继续转化:求出中位数 $\geq x$ 的区间个数。假设我们求出了这个区间个数(设它为 $cnt$),通过数学归纳,不难得出 $S$ 的中位数 $\geq x$ 当且仅当 $
        阅读全文
                
摘要:考虑枚举 $Y$。 根据 $Y$ 的定义,有:序列中比 $Y$ 小的数都不能被选到长为 $K$ 的区间内。所以我们不妨用那些 $<Y$ 的数把序列分割成几个连续段去处理。 有了连续段的性质之后,我们暴力处理出每个元素所处的连续段以及连续段的长度。之后再从小到大枚举 $X$,每次看看所有 $A_i=X
        阅读全文
                
摘要:不妨采用一种常见的套路:我们把每个点的点权定义为它周围边的边权异或和。那么修改一条路径就转化为了修改两个点,最终的答案就是让所有点的点权都为 $0$。 我们难以找到直接贪心的策略。但 $0\leq a_i\leq 15$,考虑对于每种权值进行状压——先把权值相同的点两两消掉。在此之后,每种权值的点只
        阅读全文
                
摘要:鉴于 $|x_j'-x|,|y_j'-y|\leq 1$,我们大胆尝试,画出所有可能的平行四边形的形状。对于任意一个合法的四边形(即满足题面中两个条件的平行四边形),会发现如下性质: 它的四个端点在 $x,y$ 轴坐标的奇偶性各不相同(不相同当且仅当 $x$ 不同或者 $y$ 不同)。 这个性质将会
        阅读全文
                
摘要:假若 $\forall S_{i,p_i}>0$,显然可以直接 $\text{DP}$: 状态:$f_i$ 表示至少得 $i$ 分的期望代价。 转移: $$ f_i=\min_{j=1}^n(C_j+\frac{1}{p_j}\sum_{k=1}^{p_j}f_{\max(i-S_{j,k},0)}
        阅读全文
                
摘要:先看一道较为类似的题:文理分科。 在那道题里,我们的最小割模型中有以下几种边: $S\to id(i,j)$,边权为 $art_{i,j}$ 其中,$id(i,j)$ 表示在第 $i$ 行第 $j$ 列的人。这条边保留表示在这个人选文科;割掉则是选理科。 $id(i,j)\to T$,边权为 $sc
        阅读全文
                
摘要:考虑最小割。不妨把问题简化成两个人去看。根据最小割建模的套路,易画出类似这样的图: 其中,$s,t$ 分别为源汇点,$x,y$ 均各自代表了一个经理。最小割中,割掉 $a$ 看作雇佣了 $x$,割掉 $c$ 看作不雇佣 $x$,$y$ 同理。 发现图中还有一个 $e$。我们割掉 $e$ 当且仅当 $
        阅读全文
                
摘要:不妨先看一个子问题:太空飞行计划问题,它就是广为人知的“最大权闭合子图”模型。 在这道子问题中,仪器(机器)不能租用。我们考虑一个反悔的过程——开始先把所有实验的贡献算上,之后利用最小割模型去掉最小代价使得方案合法。 在最小割模型中,我们把所有实验、仪器都分别看成一个点。其中,源点向所有实验连一条容
        阅读全文
                
摘要:考虑每个 # 的位置使用一块木板,之后进行一些调整。 对于每次调整,我们合并两块木板,使得合并完后木板依旧合法。 这个合并的过程考虑使用二分图的最大独立集。 具体的,我们把相邻的两个 # 之间连边,把边看做新图上的点。对于新图上的点 $u1$(假设它在原图上的对应边为 $l1$),它在新图上会和一个
        阅读全文
                
摘要:不妨设 $a\leq b\leq c$,则此时让集合 $A,B$ 联通的限制一定是最松的。于是我们的任务就是找出两个大小分别为 $a,b$ 的连通块。 需要知道的一点:假设我们找到了一个大于目标大小的连通块,构造时只需要一个一个地把叶子剥掉直至大小合法就行了。 先考虑原图是树的情况。由于 $b\le
        阅读全文
                
摘要:二分图的最大权完美匹配 不妨先看一些定义: 顶标 全称为“顶点标记值”。记左部点 $i$ 的顶标为 $lx_i$,右部点 $j$ 的顶标为 $ly_j$,那么要求顶标要满足 $lx_i+ly_j \ge w(i,j)$,其中 $w(i,j)$ 表示 $i$ 到 $j$ 那条边的边权。 相等子图 即原
        阅读全文
                
摘要:首先,棋子的颜色分黑和白,是一个标准的二分图形式。 其次,我们对操作进行观察,易得出:一个空位到过的位置之后不会再走了(考虑操作步骤的奇偶性以及棋子的颜色)。 于是我们大胆想象:移动棋子等价于移动空格,既然一个空格走了就不会再回到原来的位置,那么只需要把一个位置看成一个点(空格为初始位置),问题就可
        阅读全文
                
摘要:不难发现题面描述的比较特殊:给出了一个结论以及它的证明。 我们从中获得启发,对它进行了一个归纳总:一张 $n$ 个节点的完全图中,一定存在一条长度大于等于 $n-1$ 单调上升路径。 考虑把边划分成 $\frac{n}{2}$ 个小组之后(组内边不想交),我们可以对于同个中的边赋连续区间的值,这样就
        阅读全文
                
摘要:分两部分考虑,第一部分是如何用最少的边使得每个点的度数、图的总边数都变成偶数;第二部分是如何进行具体的构造。 其中第一部分的构造又可以考虑先满足每个点的度数为偶数,再满足总边数为偶数。 满足每个点的度数为偶数这点比较好做:可以每次从度数为奇数的点中任选两个,在它们之间连一条边。 由于于度数为奇数的点
        阅读全文
                
摘要:我们利用 $\text{kruskal}$ 的贪心思想去做这道题。 先考虑“一定不可能在任何 $\text{MST}$ 上”的情况。钦定用 $\text{kruskal}$ 形成的 $\text{MST}$ 为 $T$、当前考虑的边为 $e$、以及 $T$ 上在加入 $e$ 后与 $e$ 形成的简单
        阅读全文
                
摘要:定义 回文自动机(回文树),一种有限状态自动机,一种可以存储一个串中所有回文子串的高效数据结构。可以简单高效地解决众多与字符串回文相关的问题。 记号与约定 下文中,$s$ 是一个长为 $n$ 字符串,$s'$ 为 $s$ 的倒串(翻转后的串),$s[l,r]$ 是 $s$ 的一个子串(下标从 $1$
        阅读全文
                
摘要:考虑利用 $\text{KMP}$ 辅助进行贪心。 先预处理出 $t$ 所有前缀的 $\text{border}$,也就是熟知的 $next$ 数组。然后在 $s$ 上做一个贪心的匹配——假若 $s$ 剩余的字符中还存在能和 $t$ 中匹配的字符,那必定优先选它;否则之后只有一种可能,就是一直取同样
        阅读全文
                
摘要:我们对数据进行观察/分析归纳,易得出要么 $k\leq 2$,要么无解。 采用构造法证明: 先排除无解的情况:若 $s$ 为偶回文,那么所有字符相等必定无解;若为奇回文,则除去中心字符以外的所有字符相等时无解。 对于剩下的情况,从前往后找到第一个与 $s_1$ 不同的字符(下标从 $1$ 开始),设
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号