摘要: 题目传送门 思路分析 这道题的一维弱化版是 P4391,没有做过的可以先做弱化版。我们发现这道题只是弱化版的二维模式,所以我们可以先将每一行作为主体,对列做一个 KMP 或者 Hash,求出最短循环节;然后将每一列作为主体,对行做一个 KMP 或者 Hash,最后将两个值相乘就可以得到答案。 AcC 阅读全文
posted @ 2025-03-29 10:52 ask_silently 阅读(39) 评论(0) 推荐(0)
摘要: 适用范围 当一张图边数较多且建边的对象是区间时,可以使用线段树优化建图。 例题 CF786B Legacy 首先将方案转化为在图上建边,将方案的价值转化为边权。则问题变为有 \(q\) 次操作,每次操作可以从点向区间的点连边,或从区间向点连边,或点向点连边,求 \(s\) 点到所有点的最短路。 发现 阅读全文
posted @ 2025-03-29 10:50 ask_silently 阅读(166) 评论(0) 推荐(0)
摘要: 题目传送门 题目大意 给定一个序列 \(a\),每次询问一段区间 \(l\) 至 \(r\),可以进行 \(0\) 至 \(t\) 次操作,每次选定一个区间将其所有数 \(+1\)。给出最终序列所有数乘积之和,对 \(10007\) 取模。 思路分析 可以先考虑暴力 \(O(nq)\) 如何做。假设 阅读全文
posted @ 2025-03-27 21:53 ask_silently 阅读(40) 评论(0) 推荐(0)
摘要: 思路分析 设 \(dp_{i,j}\) 为选择第 \(j\) 个至第 \(i\) 个连续舞台的最大收益。分类讨论一下。 对于 \(j<i\) 的情况,我们考虑 \(dp_{i,j}\) 比 \(dp_{i-1,j}\) 的答案多了什么。发现其实是多了所有演出中 \(r_k=i\) 且 \(j \le 阅读全文
posted @ 2025-03-27 10:10 ask_silently 阅读(32) 评论(0) 推荐(0)
摘要: 思路分析 考虑先求出 \(b_i\),枚举每个 \(i\) 与 \(a_i\) 来求出 \(b_i\)。发现当前的 \(b_i\) 会对答案造成多次贡献,考虑求出造成多少贡献,原本的 \(n\) 个元素分为 \(m\) 组被转化为 \(n-a_i\) 个元素被分为 \(m-1\) 组有多少方案,可以 阅读全文
posted @ 2025-03-27 10:09 ask_silently 阅读(26) 评论(0) 推荐(0)
摘要: 思路分析 我们可以先手玩一下选一次,选两次和选三次的情况。 设第一次选择了 \(x\),则 \(a_{n+1}=a_x \oplus a_{x+1} \oplus \dots \oplus a_n\)。 设第二次选择了 \(y\),分类讨论一下。 假如 \(y<x\),则 \(a_{n+2}=a_y 阅读全文
posted @ 2025-03-27 10:09 ask_silently 阅读(23) 评论(0) 推荐(0)
摘要: 斐波那契数列满足: \[F_1=F_2=1,F_n=F_{n-1}+F_{n-2}(n \ge 3) \]我们想要求证: \[\gcd(F_n,F_m)=F_{\gcd(n,m)} \]在此之前,我们先要了解三个定理 定理一:如果 \(n \mid m\),则有\(F_n \mid F_m (n<m 阅读全文
posted @ 2025-03-27 10:08 ask_silently 阅读(96) 评论(0) 推荐(0)
摘要: 往事如尘,挥手即散;尘埃散落,永存天地。 前记 本与我同行的同伴,却渐渐的冲到前方,留我原地彷徨。旁人的讥讽,令我难堪但又不得不接受,我想要追赶,却发现已经太过困难了。想要证明自己,只能把希望寄托在这次 CSP 上。怀着不甘与自卑,希望与期待,CSP 之旅开启了,前方,会是什么? CSP 初赛进行 阅读全文
posted @ 2025-03-27 10:07 ask_silently 阅读(46) 评论(0) 推荐(0)
摘要: 思路分析 为了方便,我们可以先将二进制位不同的位置存起来。下文中的 \(cnt\) 代指不同的位置个数,\(a_i\) 代表第 \(i\) 个不同位置的下标。 我们发现,每次取反的时候 \(cnt\) 奇偶性是不变的,所以当 \(cnt\) 为奇数时,一定是无解的。 接着我们可以先求解 \(y \l 阅读全文
posted @ 2025-03-27 10:06 ask_silently 阅读(48) 评论(0) 推荐(0)
摘要: 原题传送门 题目大意 有一个长度为 \(n\) 的序列,\(m\) 次操作,每次操作更改一个位置的值,询问每次操作后全局严格前缀最大不同值的个数。 题目思路 单点修改全局查询可以考虑线段树。 修改是简单的,问题是 pushup 的时候已知两颗左树与右树的状态,该如何将其合并。 发现当前区间的答案(即 阅读全文
posted @ 2025-03-27 10:05 ask_silently 阅读(32) 评论(0) 推荐(0)