摘要: 这个题 \(k\) 很小,我们考虑从 \(k\) 入手。 我们记 \[f(n,r)=\sum_{i=0}^{\infty}\binom{nk}{ik+r}\bmod p \]现在我们来介绍几个求和变形的技巧: 一、增加枚举量 把 \(f(n,r)\) 展开 \(k\) 次,得: \[f(n,r)=\ 阅读全文
posted @ 2024-02-28 15:22 Southern_Dynasty 阅读(12) 评论(0) 推荐(0) 编辑
摘要: A - N-choice question 太简单,直接放代码: #include<bits/stdc++.h> //#pragma GCC optimize("Ofast") #define gt getchar #define pt putchar #define y1 y233 //typed 阅读全文
posted @ 2024-02-28 15:21 Southern_Dynasty 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 网址 赛时得分 \(25+50+5+1=81\),rk 67,逊死了。 赛后发现 T1 爆搜 + 剪枝有 \(50\) 分,我【】【】。 总结:还是菜。 A. 等差数列 首先特判 \(n\le 4\) 的情况。此时答案必然为 Yes,只需要两两分组即可。 由于第一个数必然在其中一个等差数列内,不妨强 阅读全文
posted @ 2024-02-28 15:20 Southern_Dynasty 阅读(33) 评论(1) 推荐(0) 编辑
摘要: 题意:你有一张无向连通图,定义 \(d(s,t)\) 表示从 \(s\) 到 \(t\) 所有路径中最大边权的最小值。现在给你三个数 \(A_i,S_i,T_i\),让你求出当 \(A_i\) 这条边的边权 \(+1\) 时,\(d(S_i,T_i)\) 会增加多少。 首先考虑一下 \(A_j+1\ 阅读全文
posted @ 2024-02-28 15:19 Southern_Dynasty 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 首先我们考虑 \(v\) 固定怎么做。实际上就是 ARC111B。 考虑建图,对每个 \((a_i,b_i)\) 建一条无向边,那么问题就变成了:对于每条边都要选择它以及其连接的一个点,最大化选出的点数。 很明显可以对每个连通块分开考虑。 记当前连通块的点数为 \(V\),边数为 \(E\)。那么有 阅读全文
posted @ 2024-02-28 15:17 Southern_Dynasty 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 题单 P1082 [NOIP2012 提高组] 同余方程 整理一下式子,变为 \(ax+by=1\),exgcd 解之即可。 最小正整数解就 \((x\bmod b + b)\bmod b\) 即可。 时间复杂度 \(O(\log x)\),可以通过此题。 可以发现这题实质上就是求 \(x\) 的逆 阅读全文
posted @ 2024-02-28 15:17 Southern_Dynasty 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 区间 DP。 设 \(f_{l,r}\) 表示只考虑 \([l,r]\),先手得分减后手得分的最大值(并不关心谁是先手谁是后手),区间长度 \(len=r-l+1\)。 然后对三种情况分别讨论: 使用操作一,此时取掉左/右端点的部分先手后手互换,对答案的贡献为 \(\max(a_l-f_{l+1,r 阅读全文
posted @ 2024-02-28 15:16 Southern_Dynasty 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 两种做法。 一、最短路 题目要求区间数量最小。如果能建出图来,就可以转换为最短路问题。 具体地,我们从 \(l-1\to r\) 连一条长度为 \(1\) 的边,意味着要多经过 \((l-1,r]\) 这一个区间。这是左开右闭的形式。 现在还有一个问题:通过这种边我们只能到达区间的右端点,如果想向左 阅读全文
posted @ 2024-02-28 15:15 Southern_Dynasty 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 考虑分层图。 把图按速度分成 \(V\) 层,\(f_{i,j}\) 表示点 \(i\) 在第 \(j\) 层(速度为 \(j\))的编号。注意:这里的速度为 \(j\) 是指到达 \(i\) 那一条边的速度(\(i\) 为终点)。 考虑一种 naive 的建边方式: 首先,记当前点为 \(u\), 阅读全文
posted @ 2024-02-28 15:15 Southern_Dynasty 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 对给出的 \(n\) 个区间分块,设块长为 \(B\)。 每个块内计算每个位置的贡献(被覆盖次数)。具体地,记 \(f_{i,j}\) 表示第 \(i\) 个块第 \(j\) 个数被覆盖了多少次,这个可以用差分轻松维护。预处理复杂度 \(O(\frac{n^2}{B})\)。 现在考虑修改。记 \( 阅读全文
posted @ 2024-02-28 15:13 Southern_Dynasty 阅读(7) 评论(0) 推荐(0) 编辑