摘要: 前言 一种很新的排列计数。 思路分析 考虑将排列视作映射,初始令 \(p_i=i\),考虑哪些位置能够进行交换。 设 \(s_i\) 表示 \(p_i\) 的质因子集合,为了方便,考虑用元素乘积刻画这个集合。 不难发现,对于 \(s_i=s_j\) 的任意位置 \((i,j)\),它们是等价的,也就 阅读全文
posted @ 2025-02-07 22:42 _Kenma 阅读(55) 评论(0) 推荐(0)
摘要: 前言 比较可做的交互题,瓶颈在于编辑距离的转化。 思路分析 首先考虑编辑距离是困难的,考虑弱化条件。 因为本题要求确定一个字符串,因此,可以尝试将编辑距离转化为判定子序列相关的信息。 具体地,考虑,对于两个字符串 \(S,T\),\(S\) 是 \(T\) 的子序列当且仅当 \(f(S,T)=|S| 阅读全文
posted @ 2025-02-07 21:56 _Kenma 阅读(17) 评论(0) 推荐(0)
摘要: 前言 这是最近 VP CF 遇到的。 感觉是套着博弈壳子的树上 DS,做起来思路也很自然,于是记录之。 思路分析 E1 经过手玩样例发现,对于 \(x\),如果存在 \(y\) 不在 \(x\) 子树内且 \(w_y > w_x\),此时 \(w_x\) 最大的 \(x\) 一定是必胜点。 原因是, 阅读全文
posted @ 2025-02-05 16:29 _Kenma 阅读(97) 评论(0) 推荐(0)
摘要: 前言 好题。 第一次听说切边等价。 思路分析 首先玩两个环的情况。令环长分别为 \(c_1,c_2\),重合部分的长度为 \(s\),那么答案为: \[\gcd(c_1,c_2,c_1+c_2-2s)=\gcd(c_1,c_2,2s) \]对于大于两个环的情况,我们可以任意拆解成两个环的情况,再进行 阅读全文
posted @ 2025-02-04 22:48 _Kenma 阅读(83) 评论(0) 推荐(0)
摘要: 前言 好题。 思路分析 分析一下答案的组成: 令 \(d_i=\sum_{j=1}^{i-1} [p_i<p_j]-\sum_{j=1}^{i-1}[p_i>p_j]\),\(S\) 表示选出的集合,\(cnt\) 表示集合 \(S\) 的逆序对数,\(tot\) 表示这个序列的逆序对数: \[to 阅读全文
posted @ 2025-02-04 22:19 _Kenma 阅读(30) 评论(0) 推荐(0)
摘要: 前言 好题。 思路分析 一个朴素的想法是,对于每种字符,我们决策它放的位置,做四路归并,这样复杂度为 \(O(n^4)\)。 但是这样显然没优化前途。考虑做一些观察。 o 存在与否并不重要:o 放在任何位置都是合法的,所以为了最小化代价,我们把 o 放在原来的位置即可; () 的移动方案和 x 的移 阅读全文
posted @ 2025-02-04 21:49 _Kenma 阅读(24) 评论(0) 推荐(0)
摘要: here. 草怎么是贪心专场。 问就是不会 F。 C 注意到操作一至多只会进行一次,进行两次就抵消了。 所以直接枚举所有可能操作取最大值即可。 注意要开 long long。 总体复杂度 \(O(tn^3)\)。 #include<bits/stdc++.h> #define int long lo 阅读全文
posted @ 2025-02-02 19:23 _Kenma 阅读(76) 评论(0) 推荐(1)
摘要: 前言 第一次在 OI 中见到求数列极限的题,有点意思。 但是为什么会过这么多人啊。 思路分析 做一点尝试: \[\sum_{i=m} \sum_{j=0}^{m} r_ja_{i-j}=0 \]然后对于相同的 \(a_i\),合并同类项: \[\sum_{i=m}\sum_{j=0}^{m} r_j 阅读全文
posted @ 2025-02-02 12:15 _Kenma 阅读(19) 评论(0) 推荐(0)
摘要: here. 感觉这场难度不大啊,我讨厌手速场。 D 有一些细节的模拟题。 消除的总行数为所有列中方格数量的最小值,下面记为 \(sum\)。 设每个方格在本列中从下到上处在 \(k\) 的位置,那么: \(k \le sum\),这个方格被消除的时间为所有处在 \(k\) 位置的格子中,\(x\) 阅读全文
posted @ 2025-02-02 12:13 _Kenma 阅读(152) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-02-01 11:36 _Kenma 阅读(35) 评论(0) 推荐(0)