03 2020 档案
摘要:"博客园同步" "原题链接" 简要题意: 每次可以在数组中插入一个数(可以在两端)或删除一个数,改变一个数;求让数组成为回文数组的最小步数。 这题的蓝太假了,水 $\text{dp}$,想到算法就可以做出。 关键还是要想到用 动态规划 啊,要是想不到这题就做不出来了。 (考场上可以先用搜索,然后记忆
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 一开始你有一个长度为 $n$ 的无色串,每次可以对一个区间染上相同的颜色。问最少多少次可以形成目标串。 告诉你,这题的蓝是假的,太假了,数据也太弱了。 完全是个暴力选手乱碾标算用的,其实本题的时间复杂度完全可以做到 $O(n^3)$. ~~第一眼看数据范围
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 求从源点开始向各点出发,最短路的个数。 注意到 ~~出题人很善良~~ 数据范围很强,所以我们采用 $\text{SPFA}$. 在这之前如果你不懂最短路,请务必 "左转弱化模板" 或学习 "最短路模板" . $\texttt{OK}$,现在所有人都会了 $
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 给定一张有向图,求从源点开始,向各点的最短路(无负权)。(所谓的“单源最短路径”) 显然,如果你第一次见这种最短路的模板,你可能会用 记忆化搜索 来解决。 但是很遗憾,记忆化搜索的 “记忆化” 在图中很难得到有效体现;还是会稳稳的 $\texttt{TLE
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 用 $f_x$ 表示 $x$ 的因数个数。求 $\leq n$ 的最大的 $x$ 使得 $f_x f_y (1 \leq y 2 \times 10^9$,所以只要这些素数就够了。 时间复杂度:$O(\text{wys})$.(难以分析,但是应该居于线性和
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 在棋盘上放若干个车,车可以攻击到同行同列的棋子。求放完每个车后,不被攻击的棋子个数。 "洛谷" "题解" 里说要用 $\text{set}$ 维护,但本人觉得,可以做到线性解决问题! 其实,你可能觉得,$O(n \times m)$ 模拟一下就行啊! 模拟
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 把若干 $\leq 50$ 的小木棍拼成若干长度相同的长木棍(一个小木棍也可以作为一根长木棍)。求可以拼成的长木棍的最小长度。 ~~暴力出奇迹~~ 一看数据范围,$n \leq 65$. 这一看就是指数级复杂度 ~~我还没见过什么 $O(n^5)$ 的算法
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 给定两种互质的硬币面值,求不能用这两个硬币表示出的面值个数。 本题作为 $\texttt{NOIP 2017}$ 的签到题,有一定的难度。 首先, 互质 是一个很重要的条件。 为什么要互质?也就是说,$\gcd(x,y) = 1$. 众所周知: $ax +
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 给定 $a_i$,求从 $A$ 节点走到 $B$ 节点的最小步数。若当前在 $i$ 节点,则可以一步到达 $i a_i$ 或 $i+a_i$ 节点。(如果不合法则不走) 首先这题肯定是搜索,具体怎么搜因人而异。 因为我比较喜欢朴素的 $\texttt{df
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 求第 $k$ 个质因子只包含 $2,3,5,7$ 的数。规定 $1$ 是第一个这样的数。 显然,本题可以用数组实现,用四个指针,将最小的往前进一发。 但是,有 $\texttt{STL}$ 和 这么弱的数据 ,我们还需要维护什么? 你发现,需要去重和排序。
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 给定一个图,求所有割点。 割点(割顶)的定义:去掉该点整个图不连通。 前置知识: 强连通分量的 $\texttt{Tarjan}$ 求法。 "不懂的可以先去了解下" 本题作为 $\texttt{Tarjan}$ 求割点的模板题。 首先,我们同样和求强连通分
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 一个数把各位数字乘起来得到另一个数。已知另一个数,求最小的“一个数”。 首先,你发现,假设答案为 $m$ ,给定 $n$ ,那么此时 $m$ 的各位数字之积为 $n$. 既然已知 $n$,那么我们就应该分解 $n$. 比方说,$18 = 2 \times
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 对每种菜有对应的若干种烹饪方法,用二维矩阵表示。求:每种食材用不超过 $\lfloor \frac{k}{2} \rfloor$ 次,至少炒一道菜,烹饪方法互不相同的个数。 算法一 注意到,对于 $32 \%$ 的数据,$n \leq 10$,$m \le
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 给定一个图,每次询问从 $x$ 节点开始,$y$ 步能不能达到 $1$ 号节点。 算法一 这也是我本人考场算法。就是 深搜 。 因为你会发现,如果 $x$ 用 $y \% 2$ 步能到 $1$ 节点,那肯定 $y$ 步能到。 原因是:剩下的 $y y \%
阅读全文
摘要:"CSDN同步" "原题链接" "POJ的链接" 简要题意: 给定一张图,求多少个点,每个点都能到达它。 本题作为强连通分量的入门题。 何为强连通分量?有什么用? 下面一一解释。 首先,我们要确认,这道题目如果不用强连通分量而用其它方法(比如说暴力)的话: 时间复杂度将达到 $O(n^2)$,此时不
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 在一棵树上求 $m$ 条不相交的路径的最小值的最大值。 本题部分分很多,而且本人也交了 $27$ 次,所以一定要仔细讲部分分! 算法一 对于 $b_i = a_i + 1$ 的数据,你发现这是一条链。 也就是说,对这部分数据,题目简化为: 将一个数组分为不
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 求一个长度最小的货币系统与给出的货币系统等价。求这个货币系统的长度。等价的定义详见题目,不再赘述。 本文可能用到一些集合论,请放心食用。 算法一 $n=2$ 时,只需判断两个数的倍数关系。有倍数关系则答案为 $1$,否则为 $2$. 时间复杂度:$O(T
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 每次把一段区间 $+1$,问得到 $a$ 数组的最小次数。 我们可以把 $+1$ 得到 $a$ 换成,从 $a$ 依次 $ 1$ 得到 $0$. 算法一 每次求出最小值,然后所有数减掉它。 这样归并下去。 时间复杂度: $O(n^2)$. 实际得分:$70
阅读全文
摘要:"CSDN同步" 首先,骗分是一种必不可少的算法。 虽然不被列为一个正规算法,但是其精髓是所有 $\texttt{Oier}$ 都要掌握的。 有些人可能觉得骗分就是暴力,完全不是这样。 暴力是骗分的一部分,并且,暴力也是骗分的最高层次。 开篇你需要学会: 1. 随便输出一个随机数,或者答案很可能的值
阅读全文
摘要:"原题链接" 简要题意: 求区间内能分解为两个质数乘积的数。 欧拉筛先筛素数。 然后再筛答案。 时间复杂度: $O(n)$. 实际得分:$100pts$.
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 求从每个点开始,可以到达的编号最大的点。 我们只要发现一条性质,这题就变得挺简单了。 你想,如果从每个点开始走,分别遍历,肯定是不科学的。 因为是有向图,所以当前点 $x$ 能到达的最大编号 $y$,我们反向建图,$y$ 一定也能走到 $x$.而且,所以能
阅读全文
摘要:"比赛链接" 洛谷: 禁止含有侮辱性质的比赛 。 ??? ~~反正我觉得,gyx挺危险的~~ 不说废话。 首先,比赛经验,前几个小时不打,跟着刷榜。 一看 "T1" . 发现是道水题,直接切掉了。 然后看到了 "T2" . 感觉没什么性质,一开始直接写了爆搜。结果爆搜去世了,所以就发现了求和的性质。
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 求最大 $0$ 矩阵。(将字符转化为数字) 本题是模板题,可以用来爆踩。??? 悬线法 来了! 其中绿色是 $0$,红色是 $1$. 下面以这个图为例讲一下算法流程。 我们首先求出,以每个格子为最下面,往上堆积的最长的 $0$ 条。 则所有格子的值为: 下
阅读全文
摘要:"CSDN同步" "原题链接" ~~太坑了我谔谔~~ 简要题意: 求一个排列的多少次幂能达到另一个排列。排列的幂定义见题。(其实不是新定义的,本来就是这么乘的) 很显然,这不像快速幂那样可以结合律。 既然这样,就从图入手。 将 $i$ 和 $a_i$ 连边。 此时图会形成若干个环,对每个环分别操作。
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 每个点有起始目标和终点(二维)。要求每次将所有点向一个方向移动一次(四方向,若出界则不变),使得每个点均 经过 其终点。 本题只要抓住本质,瞬间得解。 你会发现,如果要求每个点最终在终点上,肯定大多数数据是无解。 只要求经过即可。 而且,不要求最少步数。
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 多组数据,问能否把 $n$ 分为 $k$ 个 不同的 正奇数之和。 盲猜数学结论题。 只要考虑两个问题: 1. $n$ 的大小是否足够。 1. $n$ 的奇偶性是否满足。 对于第 $1$ 条,最小的 $k$ 个 不同的 正奇数之和为 $k^2$.(这都不知
阅读全文
摘要:这次的模拟赛,实在是水。 数据水,$\texttt{std}$ 水,出题人水,做题人也水。??? 游记就说一句: 水。 T1 metro 弱智题。 人均 $100pts$. T3 contest 弱智题。 尽管弱智,还是错了几次。 比方说要得到 $x$ 枚金币,$y$ 枚银币。 那么,你肯定要进行
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 给定一棵树,每个点有黑白两种颜色;对每个节点,求出包含当前节点的连通图,使得白点数与黑点数差最小。输出这些值。 ~~F题也这么简单,咳咳,要是我也熬夜打上那么一场。。。可惜没时间打啊~~ ~~美国佬怎么想的,不能让比赛设置成美国的上午,那我们就是下午了;非
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 每次可以将 $a_i$ 减 $1$ 或不变。求让 $a_i$ 的前缀和 $\% h$ 的值在 $[l,r]$ 区间中的最多的个数。 ~~E题是个水dp,也不怎样~~ 用 $f_{i,j}$ 表示前 $i$ 个数中,$\bigg ( \sum_{k=1}^{
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 有两个数组 $a_i$,$b_i$,求有多少组 $a_i + a_j b_i + b_j (i \not = j)$. 显然,纯暴力过不了这道题目。 首先,我们显然的作差,让 $c_i = a_i b_i$. 那么,此时我们就需要找到 $c_i + c_j
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 现在河面上有 $n+2$ 块石头,编号 $0$ 到 $n+1$,$1$~$n$ 块石头每块上有一个方向,如果是 $L$,那么青蛙到这块石头上之后只能往左跳,如果是 $R$ 只能往右,当然,第 $0$ 块石头的方向是 $R$. 现在青蛙要从 $0$ 跳到 $
阅读全文
摘要:"CSDN同步" "原题链接" ~~CF 127个测试点,好评~~ 简要题意: 多组数据,问数组中是否有长度 $\geq 3$ 的回文子序列。 我们需要找到本质。 题目不让我们求这个长度,只让我们判断,这是为什么呢? 如果答案是 ,那么必然存在一个长度为 $3$ 的回文子序列。否则为 . 你想,如果
阅读全文
摘要:CSDN同步 原题链接 简要题意: 再简要一波: 每次可以把一个数增加 $2$,问最后能不能让所有数相等。(也就是抵消掉) 什么?题意变成这样子还做个啥? 你会发现,必须所有数的奇偶性都相同,才可以;反之就不可以。 这结论不用证明了,因为每次增加不会改变奇偶性的。 #pragma GCC optim
阅读全文
摘要:CSDN同步 原题链接 简要题意: 每两个武将都有一定的默契值。你和电脑轮流选择武将,电脑总会选择让你得不到最大默契值的那个武将;你要选择一种方法,使得你的最大默契值最大。如果会输给电脑则输出 $0$,否则输出 $1$ 和那个最大的默契值。 首先,人肯定比电脑聪明 如果你抱着骗分的态度 printf
阅读全文
摘要:这里是一些 ~~弱智的~~ 思维技巧。 $\texttt{Tarjan}$ 的 缩点 好好写啊,那个出栈的时候要一起出,不要留着根在那儿碍事。。 CodeForces的题很水 ??? 只要会贪心,就能 $\texttt{AC}$ 4 题???然后再来个 $\texttt{dp}$ 就是 5 题???
阅读全文
摘要:CSDN同步 原题链接 简要题意: 你可以无限次的把该数组的一个前缀和后缀 \(\times -1\),问最终的最大序列和。 这题盲目WA了数次才知道本质 这题89个数据吊打std CF真好啊,发现一个错后面就不测了 下面,就以我艰辛的思维历程来构造本篇博客。 算法一 盲猜:所有数都可以变成正数。
阅读全文
摘要:CSDN同步 原题链接 简要题意: 判断一个数是否只有 $3$ 个因数。 首先,如果一个数有奇数个因数,那么这个数是完全平方数。 道理很简单:因数是成对的,那么必然存在 \(k^2 = n\),此时 \(k\) 就是单个的,\(n\) 就是完全平方数。 但是,你会发现,并不是所有的完全平方数都一定有
阅读全文
摘要:CSDN同步 原题链接 简要题意: 给定一个 $1$ ~ \(n\) 的置换,将数组分为 \(k\) 个区间,使得每个区间的最大值之和最大。求这个值,和分区的方案数。 关键在于 $1$ ~ \(n\) 的置换。 显然,你只要把从 \(n - k + 1\) 到 \(n\) 这一段,每个区间分一个(其
阅读全文
摘要:CSDN同步 原题链接 简要题意: 构造一个长为 \(n\) 的数,使得每位均不为 $0$,且 \(n\) 不被它的各位数字整除。 比方说, \(n = 239\) 是合法的。因为: $2 \not | 239$,$3 \not | 239$,$9 \not | 239$. 再比方,\(n = 23
阅读全文
摘要:CSDN同步 原题链接 我天哪 大大的庆祝一下: 数论黑题 \(T1\) 达成! 激动地不行 记住套路:乱推 \(\gcd\),欧拉筛模板,然后乱换元,乱换式子,完了整除分块,欧拉筛和前缀和就解决了! \(\sum_{i=1}^n\sum_{j=1}^m\sum_{k=1}^p\gcd(i\cdot
阅读全文
摘要:CSDN同步 原题链接 一看我感觉是个什么很难的式子…… 结果读完了才发现本质太简单。 算法一 完全按照那个题目所说的,真的把质因数分解的结果保留。 最后乘。 时间复杂度:\(O(r \sqrt{r})\). 实际得分:$40pts$. (实在想不到比这得分更低的算法了) 算法二 机智的发现是个因数
阅读全文
摘要:CSDN同步 整除分块是一个挺简单但是应用极广的算法。 听上去挺难,实际不难。 实则它是解决这样一类问题: 求: \(\sum_{i=1}^n \lfloor \frac{n}{i} \rfloor\) 你可能觉得这个式子无法下手,连个 \(\gcd\) 也推不起来。 我们下面证明一个结论: 在 \
阅读全文
摘要:"原题链接" 庆祝: 数论紫题 $T4$ 达成! 莫比乌斯 $T1$ 达成! ~~yy 真是个 神犇 ~~ 前记 之前我觉得: 推式子,直接欧拉筛,筛出个 $\phi$,然后乱推 $\gcd$ 就行了。 现在我觉得: 推式子,还是欧拉筛,筛出个 $\mu$ ,然后乱推 $\gcd$ 就行了。 前置知
阅读全文
摘要:"原题链接" 前置知识: 字典树。(会 $\texttt{KMP}$ 就更好) 显然呢,本题用 字典树 和 $\texttt{KMP}$ 无法解决问题。 所以我们发明了一个东西: $\texttt{AC}$ 自动机! ~~自动AC就算了吧~~ 首先,我们给这些串建字典树。 建完之后,我们求 失配指针
阅读全文
摘要:#pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(5000) #pragma GCC optimize(1000000000) #pragma GCC optimize("Ofast") #pragma GCC
阅读全文
摘要:"原题链接" 本人看了其它解法,发现本人的解法还是 首创 ! 而且我的解法好像和 $\times 6$ 没什么关系 …… (如果没 $\times 6$,我没还不用算逆元) 别人的思路呢,大都是从 $\times 6$ 想到三个数的全排列,然后交换顺序枚举。 下面看我的方法。 先抛开 $\times
阅读全文
摘要:"原题链接" 前置知识: 线段树的单点、区间的修改与查询。 一看,我们需要维护两个操作: 1. 区间取反; 2. 区间求和。 (因为区间 $1$ 的个数,就是区间的和) 典型的 线段树 。 如果你只会线段树的 区间修改,单点修改,区间查询,单点查询 的话,这题的 “取反” 是个难题。 但是,这个数组
阅读全文
摘要:"原题链接" ~~享受推式子的乐趣吧~~ 数论真有趣! 庆祝:数论紫题第 $3$ 道。 $$\sum_{i=1}^n \operatorname{lcm}(i,n)$$ $$ = \sum_{i=1}^n \frac{i \times n}{\gcd(i,n)}$$ $$ = n \times \s
阅读全文
摘要:"原题链接" 庆祝!第二道数论紫题。 ~~推式子真是太有趣了!~~ $$\prod_{i=1}^n \prod_{j=1}^n \frac{\operatorname{lcm}(i,j)}{\gcd(i,j)}$$ $$ = \prod_{i=1}^n \prod_{j=1}^n \frac{i \
阅读全文
摘要:"原题链接" 庆祝一下:数论紫题达成成就! 第一道数论紫题。写个题解庆祝一下吧。 简要题意:求 $$\sum_{i=1}^n \sum_{j=1}^n [gcd(i,j)==p]$$ 其中 $p$ 为素数。 注: $ [A] = 0 $ 当且仅当 $A$ 不成立。 $ [A] = 1 $ 当且仅当
阅读全文
摘要:"原题链接" 简要题意: 从 $1$ 号位开始走,可以连续走过一段连续的 $0$ ,每走一次,所有位置取反。 (即 $0 \gets 1$,$1 \gets 0$). 算法一 模拟暴力即可。 每次从当前位置模拟往后走到能走的最后一个点(即当前连续 $0$ 的最后一个 $0$ 的位置),然后暴力将每个
阅读全文
摘要:CSDN同步 \(\text{Update On 2021.11.21}\) NOIP2021 宝贵经验:\(n \times m \leq 10^5\) 这种东西一定要写 vector,不要开个 \(1000 \times 1000\) 以为很稳,当出题人不卡你? 还有,在正式比赛中,一些卡常技巧
阅读全文
摘要:"原题链接" 首先,我们考虑用差分解决问题。 用 $x_i$ 表示原数列,$a_i = x_i x_{i 1}$ 那么,先普及一下差分: 如果我们只需要维护区间加值,单点求值的话,你会发现两个重要等式: $$a_i = x_i x_{i 1}$$ $$\sum_{j=1}^i a_j = x_i$$
阅读全文
摘要:"原题链接" 简要题意: 求出以从每个节点到根形成的括号序列的合法对数。 算法一 观察到 $n \leq 8$ ,所以我们可以用 纯粹的暴力 。 用 $O(n)$ 时间得出当前节点到根的字符串。 然后 $O(n^2)$ 枚举子串。 再用 $O(n)$ 暴力判断(用栈)。 时间复杂度: $O(n^5)
阅读全文
摘要:前置知识: 前缀和。 前缀和即:用 $$s_i = \sum_{j=1}^i a_j$$ 然后 $$\sum_{i=l}^r a_i = s_r s_{l 1}$$ 树状数组是基于前缀和的一种数据结构。 它主要可以维护区间和、单点改、区间改、单点查。 和线段树相比,码量较少、空间复杂度较少是一大优势
阅读全文
摘要:前置知识: $KMP$,字典树。 注:本笔记不含任何 $AC$ 自动机内容。能用其实现的,我们也用 $KMP$ 先做。 例1. 算法一 暴力枚举一个串的所有子串,然后暴力验证。 一个串的子串个数: $$\sum_{i=1}^{1000} = 500500$$ 暴力验证: $O(100 \times
阅读全文
摘要:分块方法: 把 $n$ 个元素每 $S$ 个一块,分成 $\lceil \frac{n}{S} \rceil$ 个块,维护每个块的加法标记和总和。 对于查询操作,直接把整块的加上;非整块的暴力加。 时间复杂度:$O(2 \times S+\lceil \frac{n}{S} \rceil)$ 对于区
阅读全文
摘要:"原题链接" 本题只要 推式子 就可以了。 $$y^2 x^2=ax + b$$ $$a x + x^2 = y^2 b$$ $$4 x^2 + 4 ax = 4 y^2 4b$$ $$(2x+a)^2 a^2=4y^2 4b$$ $$(2x+a)^2 4y^2=a^2 4b$$ $$(2x+a+2
阅读全文
摘要:Case 1. 本题其实不难,直接模拟就可以了。时间复杂度: $O(L \times M)$ Case 2. 考虑一个简单的增强:把原来的: $$L \leq 10^4,M \leq 10^2$$ 改成: $$L ,M\leq 10^6$$ 现在我们就不可以直接模拟了,显然考虑一个 $L \log
阅读全文
摘要:"CSDN同步" "原题链接" 本题 $n \leq 100$ ,我们先分析一下 大力搜索 的效率。 众所周知, 从 $1,1$ 走到 $n,m$ ( 每次只能向右走或向下走 ) 的方案数为: $$C_{n+m}^m$$ 简单解释:共走 $n+m$ 步,其中 $n$ 步向下, $m$ 步向右。而:
阅读全文
摘要:"CSDN同步" 首先声明:下文中所有的类似”因数“”整数“等的字眼,除特别说明,全部是对于正数而言,不包括负数或者是$0$。 Case 1. 欧拉定理 欧拉定理即: 对于 $p$ 为素数,$a$ 为任意正整数,存在 $$a^{\varphi_p} \equiv 1 \pmod p$$ 其中 $\g
阅读全文
摘要:"CSDN同步" "原题链接" 前置知识: 矩阵乘法、斐波那契数列的矩阵公式。 题意简要: 用 $F_i$ 表示斐波那契数列的第 $i$ 项,求: $$\gcd(F_n,F_m)$$ 我们先考虑 $n m$ . 首先我们考虑 $\gcd$ 的两个性质,后面要用: $$\gcd(a,b) = \gcd
阅读全文
摘要:"CSDN同步" "比赛链接" 由于 $\texttt{Sweet Round}$ 比赛挺好的( 关键不知道为啥$Unrated$ 开篇总结(大雾):这次比赛题目不错(有思维含量) ~~尽管我不会做~~。 我一看 $T1$ ,啊这什么水题(当我没说)。 随便写了个高精度(没想到还 $WA$ 了一次)
阅读全文
摘要:"CSDN同步" "原题链接" 简要题意: 求 $\prod_{i=1}^n \prod_{j=1}^i j$ 的末尾有几个零。 显然,我们对原式进行修改: $$\prod_{i=1}^n \prod_{j=1}^i j$$ $$=\prod_{j=1}^n j \cdot (n j+1)$$ 这是
阅读全文

浙公网安备 33010602011771号