CF1859F Fancy Arrays

Fancy Arrays - 洛谷

  • 我们先找这题看起来有点奇怪的部分:

    • x40

    • |aiai1|k

  • 我们先考虑第二个条件怎么用。我们发现 minai[0,x+k),而原数组相邻两数之差的条件肯定要考虑成差分来处理

  • 可以发现,一个差分数组和 minai 与一个 ai 序列唯一对应。因为我们可以把差分求前缀和,然后找到里面的最小值,再整体加偏移量的方式得到 ai

  • 对于 minai[x,x+k) 的情况自然不需要考虑,因为他们构造出来的一定都满足条件。而对于 minai[0,x) 的情况,不满足条件当且仅当 maxai[0,x),我们可以考虑容斥。

  • 总方案:(2k+1)n1×(x+k);现在我们即要求满足 ai[0,x)ai 的方案数。我们可以 dp 来处理这个问题

  • dpi,j 表示前 i 个数已经填好,第 i 个数填 j 的方案数。转移是 O(nk2) 的,前缀和可以优化掉一个 k

  • 发现 x40,于是矩阵快速幂优化 dp

  • 最终复杂度 O(Tx3logn)

posted @   FOX_konata  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
点击右上角即可分享
微信分享提示