08 2023 档案

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

点击右上角即可分享
微信分享提示