上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 十载峥嵘桀骜:感觉挺简单的,就是代码处理比较繁琐。 一个最简单的部分分是暴力模拟建图之后跑矩阵快速幂转移,时间复杂度 \(O(n^3\log t)\),随便拼点其他特殊性质就能 68pts 了。 考虑正解,结合树的直径的 DFS 求法,容易注意到在走完第一天后,第二天开始走的就是树的直径了。 同时又 阅读全文
posted @ 2025-09-23 18:48 KS_Fszha 阅读(11) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-09-20 21:13 KS_Fszha 阅读(1) 评论(0) 推荐(0)
摘要: Bracket Groups:赛时猜出来用 ACAM,结果没猜到结论,我是糖比。 首先判掉一些 corner,如果出现了 \(\texttt{()}\) 为单个字符串,则一定无解。 发现后面不太好做,所以可以套路地猜一猜答案上界,发现最多只需要分成两组。具体地,考虑往极端情况构造,弄出下面两种括号串 阅读全文
posted @ 2025-09-18 23:39 KS_Fszha 阅读(16) 评论(0) 推荐(0)
摘要: 上 Master 了。 阅读全文
posted @ 2025-09-16 18:03 KS_Fszha 阅读(62) 评论(0) 推荐(1)
摘要: 加法:感觉挺像超速检测风格的。 最大化最小值,显然可以二分最小值,判断最小值是否合法。这样我们求求出了每个数至少要覆盖的次数。 于是问题被转化为,\(m\) 个区间里选出最少个区间,判断使用的区间个数是否 \(\le k\)。 这个问题显然是一个最小区间覆盖的贪心,我们从左向右扫。假设当前扫到的下标 阅读全文
posted @ 2025-09-06 02:21 KS_Fszha 阅读(9) 评论(0) 推荐(0)
摘要: Mark and Professor Koro:比较简单的线段树上二分题。 先来记录一下区间 \([l,r]\) 内线段树二分的流程: 如果当前节点在 \([l, r]\) 内: 判断该区间是否有解: 若无解,直接返回 \(-1\)。 若有解,依次递归左右儿子节点,找到答案则返回。 否则判断左右儿子 阅读全文
posted @ 2025-09-06 00:37 KS_Fszha 阅读(15) 评论(0) 推荐(0)
摘要: Unjust Binary Life:简单题,感觉一大把 *1900 比这个难啊。 首先注意到靠这种方式生成的网格图有比较良好的性质,其他题有一些什么行与列相互独立的结论,但这题直接把 \((1,1)\) 到 \((x, y)\) 的路线画一下,你就能发现只有把第 \(1\sim x\) 行和第 \ 阅读全文
posted @ 2025-09-06 00:05 KS_Fszha 阅读(21) 评论(0) 推荐(0)
摘要: Exact Change:有点幽默的诈骗题。 观察一下性质,不难发现我们选择的 \(1,2\) 最多不超过 \(2\) 个,因为如果存在一个数选了 \(3\) 个 \(1,2\),那么我们可以直接用 \(1\) 个 \(3\) 或者 \(2\) 个 \(3\) 代替,这样一定更优。 接下来看似是一个 阅读全文
posted @ 2025-09-04 17:27 KS_Fszha 阅读(9) 评论(0) 推荐(0)
摘要: Infection Simulation:JOI 唯一好的地方就在于样例强的一批,过了样例基本上就把题过了。 观察题目,可以发现以下性质: 感染者存在的时刻一定构成一个区间。因为不可能出现感染者消失后再出现的情况。 当 \(x\) 逐渐变小的时候,被感染的人一定不会变少,感染的限制条件一定不会更紧, 阅读全文
posted @ 2025-09-03 00:26 KS_Fszha 阅读(10) 评论(0) 推荐(0)
摘要: Not Adding:一个 \(\gcd\) 的经典 trick。 对于求 \(\gcd\) 的题目,有一个经典 trick:枚举 \(\gcd\) 的值,然后枚举 \(\gcd\) 的每个倍数,计算每个倍数对 \(\gcd\) 的贡献。不难发现这个复杂度是调和级数的。 对于此题,题意可以转化为求最 阅读全文
posted @ 2025-08-31 15:35 KS_Fszha 阅读(18) 评论(0) 推荐(0)
摘要: MST in Modulo Graph:MST 好题。 一般这种完全图求 MST 的题,有两种思路: 优化建图,根据图的性质砍掉一些无用边。 使用 Boruvka 算法,搭配某些数据结构求每个节点的最小边。 本题中取模的条件用数据结构比较难维护,于是考虑优化建边的思路。 首先,值相同的点显然是可以先 阅读全文
posted @ 2025-08-31 02:33 KS_Fszha 阅读(16) 评论(0) 推荐(0)
摘要: Vasya and Arrays:弱智题。 打 CF Bingo 的时候被这题硬控 1min,还被 Xlw6friend 喷糖了,我才是奶龙!!!!!! 先考虑什么时候有解,不难发现如果将所有数都合并到一起,如果此时两个数组还不同就一定无解。 而对于有解的情况,相当于我们要将两个序列进行分段,使得两 阅读全文
posted @ 2025-08-30 14:27 KS_Fszha 阅读(10) 评论(0) 推荐(0)
摘要: Xor:有点牛的题。 Sol.1 普通 01 Trie 做法 应该是比较套路的一种做法了。首先考虑静态问题怎么做,先把值域里的所有数丢到 01 Trie 内,然后再将 \(A\) 序列里的数在 01 Trie 上查询,查询到的节点打上一个 Tag。最后 dfs 一遍,合并两个儿子就类似于最大子段和, 阅读全文
posted @ 2025-08-28 21:28 KS_Fszha 阅读(8) 评论(0) 推荐(0)
摘要: Modular Sequence:感觉是比较经典的观察了。 首先转化一下题意,等效于求一个长度为 \(n\) 的序列,序列由多个首项为 \(x\),公差为 \(y\) 的等差数列拼接而成,并且总和为 \(s\)。 发现首项为 \(x\) 非常地不优美,所以我们可以把所有数减去 \(x\bmod y\ 阅读全文
posted @ 2025-08-28 16:14 KS_Fszha 阅读(12) 评论(0) 推荐(0)
摘要: Berzerk:有向图博弈论板子。 注意到怪物位置的状态数很少,于是考虑图论建模。因为有两个人轮流操作,所以需要建成分层图的形式,每次顺时针移动 \(x\) 的位置相当于向另一层连边。当走到任意一层编号为 \(1\) 的点或走到出度为 \(0\) 的点的时候,先手必败。 这就成一个很典的有向图博弈论 阅读全文
posted @ 2025-08-26 15:47 KS_Fszha 阅读(14) 评论(0) 推荐(0)
摘要: 过河卒:也是吃上伊思倍思的陈年老史了。 显然是一个有向图博弈论问题。如果某个点的出边有一个指向先手必败点,则这个点是先手必胜点;如果某个点的出边全都指向先手必胜点,则这个点是先手必败点;否则这个点是平局点。于是把所有终止状态丢进队列里,在反图上跑 BFS 即可。 进一步考虑如何最大化失败的步数 / 阅读全文
posted @ 2025-08-25 21:10 KS_Fszha 阅读(32) 评论(0) 推荐(0)
摘要: P10532 [XJTUPC 2024] 筛法:再来点神秘组合意义。 这题推式子做法需要用到欧拉函数相关知识,直接爆算也需要杜教筛之类的科技。打表做法是最简单的,写个 \(O(n^2)\) 暴力就很容易能发现答案就是 \(n^2\)。 证明可以考虑组合意义,问题转化为求所有互质数对 \((i,j)\ 阅读全文
posted @ 2025-08-25 15:08 KS_Fszha 阅读(13) 评论(0) 推荐(0)
摘要: 前缀和:来点神秘结论题。 普通推式子做法比较丑陋复杂,或者用 DP 猜性质的做法也要用到数学归纳法。于是考虑一个神秘组合意义的做法。 假如一共有 \(\infty\) 盏灯,灯的编号为 \(1\sim \infty\),每盏灯有 \(p\) 的概率被点亮,那么问题就转化为求 \([l,r]\) 中期 阅读全文
posted @ 2025-08-25 14:56 KS_Fszha 阅读(10) 评论(0) 推荐(0)
摘要: Pentiment:比较 EZ 的线段树优化,但是我调了两天才调完 /ll。 不难想出一个暴力 DP:\(dp_{i,j}\) 表示直角蛇在第 \(i\) 行第 \(j\) 列进入第 \(i+1\) 行的方案数。然后转移是显然的: 当这个格子被 ban,\(dp_{i,j} = 0\)。 否则,\( 阅读全文
posted @ 2025-08-21 17:41 KS_Fszha 阅读(13) 评论(0) 推荐(0)
摘要: 斐波那契数列:比较巧妙的矩阵加速。 普通的矩阵是 \((+,\times)\) 的,显然无法处理此类乘积的值。而如果修改成 \((\times,\times)\) 的矩阵,则 \(\times\) 对 \(\times\) 不存在分配律,无法使用矩阵加速。因此可以从本题的特殊性质入手。 另记一下 \ 阅读全文
posted @ 2025-08-21 17:24 KS_Fszha 阅读(10) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页