随笔分类 -  题解

摘要:\(\text{BZOJ2219 数论之神 题解}\) 记模数 \(P=2\times K+1\)。我们希望像上一个题一样转化为指标来求解,然而这里并没有保证 \(P\) 为质数,换句话说 \(P\) 甚至不一定有原根。于是考虑对 \(P\) 进行质因数分解,将 \(P\) 分解为 \(P=\pro 阅读全文
posted @ 2025-04-05 21:51 长安19路 阅读(54) 评论(0) 推荐(0)
摘要:\(\text{P10659 BZOJ3159 决战 题解}\) 显然除了反转这个唐氏操作都是很好维护的。反转问题通常的解决方法是 FHQ-Treap 或 LCT。对于本题,LCT 并不需要特殊限制,因此介绍一下 LCT 做法。 simple 的想法是用 LCT 维护时遇到反转操作就下放一次 tag 阅读全文
posted @ 2025-03-23 18:05 长安19路 阅读(18) 评论(0) 推荐(0)
摘要:\(\text{P6272 [湖北省队互测2014] 没有人的算术 题解}\) 直接去按照题目给定的递归形式去维护显然是困难的。由于总形态的个数显然是 \(O(m)\) 级别,我们考虑设计一种方式使得可以表示出每种形态的权值然后互相比较。考虑直接在这些个状态上去维护权值表示大小关系,然后把每次单点修 阅读全文
posted @ 2025-03-11 21:57 长安19路 阅读(17) 评论(0) 推荐(0)
摘要:\(\text{P10778 BZOJ3569 DZY Loves Chinese II 题解}\) 由于有强制在线的限制,无法考虑一些奇技淫巧。一般的手段难以维护,于是考虑对于图上问题,先整出一棵生成树来,分为树边和非树边。显然一个环一定由一些树边和一些非树边组成。考虑对于一条被删去的树边,不连通 阅读全文
posted @ 2025-03-10 18:23 长安19路 阅读(8) 评论(0) 推荐(0)
摘要:\(\text{P3246 [HNOI2016] 序列 题解}\) 套路地去考虑每个最小值的贡献。对于每个值 \(i\),我们求出它左/右边第一个小于 \(a_i\) 的位置 \(L,R\),那么 \(l\in[L+1,i],r\in[i,R-1]\) 会有贡献。这实际上是一个区间加的形式,同时对于 阅读全文
posted @ 2025-02-24 21:48 长安19路 阅读(18) 评论(0) 推荐(0)
摘要:\(\text{CF938G Shortest Path Queries 题解}\) 异或有很多奇妙的小性质,在这道题里都得到了体现。 注意到异或下求出 \((x,y)\) 的最短路等价于 \(\text{dis}(1,x)\oplus\operatorname{dis}(1,y)\),于是先考虑静 阅读全文
posted @ 2025-02-16 21:47 长安19路 阅读(19) 评论(0) 推荐(0)
摘要:\(\text{[ARC165E] Random Isolation 题解}\) 首先这个操作次数看上去是和树的形态有关的,显然没法去求,考虑转化。对于每个大小大于 \(K\) 的连通块,出现后我们必然要拆分它,而拆分的代价,即操作次数就是 \(1\)。由期望的定义,事实上我们需要求的是所有大小大于 阅读全文
posted @ 2025-02-15 17:59 长安19路 阅读(14) 评论(0) 推荐(0)
摘要:\(\text{CF193D Two Segments 题解}\) 要这个排列构成连续段,那直接维护下标无疑是困难的,于是考虑维护数列中对应的值 \([l,r]\)。暴力维护的区间个数是 \(O(n^2)\) 的,考虑常见的优化套路:将 \(r\) 扫描线,维护 \([1,r-1]\) 中 \(l\ 阅读全文
posted @ 2025-02-15 17:35 长安19路 阅读(10) 评论(0) 推荐(0)
摘要:\(\text{CF603E Pastoral Oddities 题解}\) 首先“每个点度数均为奇数”这个限制显然无法直接处理。手玩一些样例后容易发现这个限制等价于原图中只存在大小为偶数的连通块。这个限制我们是好规约的,在无向图上并查集维护连通性可以处理。 动态插入边的操作是困难的,不妨先考虑静态 阅读全文
posted @ 2025-02-15 17:20 长安19路 阅读(8) 评论(0) 推荐(0)
摘要:\(\text{CF786C Till I Collapse 题解}\) 朴素的回答一个询问所需要的时间复杂度是 \(O(n)\)。注意到若将 \(n\) 个数划分成满足题目的限制,那么答案一定不会大于 \(\lceil\dfrac nk\rceil\)。我们希望可以利用答案较小这一性质,于是发现 阅读全文
posted @ 2025-02-07 19:11 长安19路 阅读(47) 评论(0) 推荐(0)
摘要:\(\text{P2839 [国家集训队] middle 题解}\) 做过这道题之后你能加深对主席树的理解。 首先看到要维护中位数,常见的套路是二分这个中位数并赋 \(\pm1\) 的值。具体地,我们二分这个中位数 \(x\),把 \(\ge x\) 的设为 \(1\),把 \(<x\) 的设为 \ 阅读全文
posted @ 2025-02-06 21:41 长安19路 阅读(12) 评论(0) 推荐(0)
摘要:\(\text{杜教筛学习笔记}\) 对于数论函数 \(f\),想求出 \(S(n)=\sum_{i=1}^nf(i)\) 采用线性筛的时间复杂度是 \(O(n)\)。采用杜教筛,可以将时间复杂度优化至亚线性时间复杂度。准确地说,是 \(O(n^{\frac 23})\)。 算法思想 对于数论函数 阅读全文
posted @ 2025-01-25 17:33 长安19路 阅读(18) 评论(0) 推荐(0)
摘要:\(\text{LOJ \#6041. 「雅礼集训 2017 Day7」事情的相似度 题解}\) 解法一 由 parent 树的性质得到,前缀 \(s_i,s_j\) 的最长公共后缀实质上就是 \(i,j\) 在 SAM 中的 \(\operatorname{LCA}\) 在 SAM 中的 \(\o 阅读全文
posted @ 2025-01-15 11:57 长安19路 阅读(28) 评论(0) 推荐(1)
摘要:\(\text{P4770 [NOI2018] 你的名字 题解}\) 注意到 \(l=1,r=|S|\) 有整整 68 分的高分,让我们先来考虑这样的特殊情况。 这样的特殊情形实际上要我们求的是 \(t\) 有多少个本质不同的子串满足其不是 \(s\) 的子串。正着做看上去有些困难,于是维护 \(s 阅读全文
posted @ 2025-01-15 09:41 长安19路 阅读(17) 评论(0) 推荐(0)
摘要:\(\text{CF1801E Gasoline prices 题解}\) 考虑方案数如何计算。注意到树上一些点有着相同的取值,于是如果我们将它们用并查集缩起来,它的可行取值范围就是 \([\max_{l_i},\min_{r_i}]\)。现在考虑并查集的维护方式。考虑只有 \(n\) 个点,这样一 阅读全文
posted @ 2025-01-12 19:29 长安19路 阅读(23) 评论(0) 推荐(0)
摘要:\(\text{P3247 [HNOI2016] 最小公倍数 题解}\) 第一眼上去没什么明显的思路。图上问题一般没有什么好的多项式复杂度算法来解决。观察数据范围,注意到 \(n,q\le 5\times 10^4\),是一个典型的根号复杂度算法,于是考虑分块来处理。注意到所求的不一定是简单路径,也 阅读全文
posted @ 2025-01-11 22:04 长安19路 阅读(58) 评论(0) 推荐(0)
摘要:\(\text{[BZOJ3230] 相似子串 题解}\) 巧妙地利用了后缀数组的一些奇妙性质。 先考虑第一问。首先去处理本质不同的子串这个东西。这个东西我们显然是见过的,于是套路地建出 SA 求出 \(\operatorname{height}\) 数组。每一个子串对应的都是一个后缀的前缀。由于串 阅读全文
posted @ 2024-12-30 17:29 长安19路 阅读(26) 评论(0) 推荐(0)
摘要:\(\text{P4003 无限之环 题解}\) 首先这个网格图就说明了一些问题。一般地,网格图主要的解决方法是 dp(尤其是插头 dp)。但是这个题里需要解决的只有相邻两个格子之间的相邻性问题,于是采取网格图另一个常见的思路:二分图染色。于是将这个网格图黑白染色,将一个格子的四壁拆成四个点,相邻的 阅读全文
posted @ 2024-12-18 21:52 长安19路 阅读(31) 评论(0) 推荐(0)
摘要:\(\text{P6803 [CEOI2020] 星际迷航 题解}\) 观察这个从第 \(0\) 棵树走向第 \(D\) 棵树的过程是困难的,我们难以判定走到下一棵树的情况。于是我们不妨从第 \(D\) 棵树向第 \(0\) 棵树来倒推。从第 \(i\) 层走向第 \(i+1\) 层的边为 \(x\ 阅读全文
posted @ 2024-12-17 19:42 长安19路 阅读(24) 评论(0) 推荐(0)
摘要:P9346 无可奈何花落去 题解 这个期望第一眼看上去是困难的。然而发现 \(E=Px\),贡献 \(x\) 是可枚举的,于是转化为了一个求概率的问题。这个概率同样难以计算,然而发现状态的个数是有限的,对于选取 \(x\) 条边断掉它的总方案数就是 \({n-1\choose x}\),那么直接求方 阅读全文
posted @ 2024-12-10 18:22 长安19路 阅读(21) 评论(0) 推荐(0)