专栏文章
警惕洛谷题解同质化问题
CF1809G题解参与者 1已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mio2qrhf
- 此快照首次捕获于
- 2025/12/02 12:24 3 个月前
- 此快照最后确认于
- 2025/12/02 12:24 3 个月前
1-indexed
咋题解都是推式子,给一个整体 dp 做法,这个做法连模数是质数都不需要保证。
把题目中条件翻译成人话就是重排后的 序列得满足 。那么我们遇到这种排列问题第一眼肯定想想按照一个顺序加数。我们不妨从大到小加数。这样有一个好处:如果这样加了一个数导致序列不合法,那么他一定到最后都不合法了,因为加的那个数前面的 max 不会变了。
考虑你比现在这个数 大的所有数都加进了序列 (设 的大小 ,否则是平凡的)。那么我们考虑分类讨论:
- 当 的时候,你显然把 加哪里都行;
- 当 时,一定有 。因为如果 ,我们又 ,就是 也成立,显然这是不行的。因此我们一定能够把 插 后面、 后面等等。
因此注意到我们不需要知道 等的值只需要知道 。考虑 dp: 表示填好了 ,这时 。我们有转移(注意把 放最前面的情况单独算):
- ;
- ,当 时;
- ,当 成立时。
答案即为 。这样做到了平方。
优化是显然的整体 dp。发现你只需要一个区间乘,单点修,区间求和的线段树即可维护上面的转移。复杂度 ,跑进了时限的一半。
马上加强到对小合数取模,阶乘哥们受死吧。
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...