CF1895F Fancy Arrays 题解

考虑到 x40x\le 40,肯定是要从这上面考虑的。

我们把存在性容斥掉,答案为总情况数减去所有数在 [0,x)[0,x) 的情况数再减去所有数在 (x+k1,+)(x+k-1,+\infty) 的情况。

考虑第一部分和第三部分一起看。

绝对值转成差分序列 bb,那么 bi[k,k]b_i\in[-k,k],即只有 2k+12k+1 种取值。

而第一部分减去第三部分等价于原序列的最小值在 [0,x+k1][0,x+k-1]

则这种情况的方案数为 (x+k)×(2k+1)n1(x+k)\times (2k+1)^{n-1}

剩下的部分就显而易见了。

设计 dp,设 fi,jf_{i,j} 表示所有数在 [0,x)[0,x) 且相邻差 k\le k 的序列,第 ii 位为 jj 的方案数。

转移方式固定,矩阵乘法加速转移即可。

时间复杂度 O(x3logn)\mathcal O(x^3\log n)

posted @   蒟蒻orz  阅读(6)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2021-11-07 CF388C Fox and Card Game
2021-11-07 CF163E e-Government
2021-11-07 CF718C Sasha and Array
点击右上角即可分享
微信分享提示