[数学记录]CF896D Nephren Runs a Cinema
2022/9/2 23:53:01
本文主要是介绍[数学记录]CF896D Nephren Runs a Cinema,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题意:给定 \(n=x+y+z\),求满足以下要求的长度为 \(n\) 的序列的数目:序列由 \(x\) 个 \(1\),\(y\) 个 \(-1\),\(z\) 个 \(0\) 组成,序列任意前缀和非负,和在 \([l,r]\) 之间。
考虑确定 \(z\) 和序列和的方案数。
看做卡特兰数类似折线图考虑。则在不能过线的前提下要到 \((x+1,y-x)\)。
过线等价于经过 \(y=x-1\)。将经过后的路径翻折后经过 \((x+y+1,x-1)\)。方案数是 \(C_{x+y}^{x}-C_{x+y}^{x-1}\)。
\[l \leq y-x \leq r \\ x+y = n-z \\ \Rightarrow x \in \left [\frac{n-z-r}{2},\frac{n-z-l}{2} \right ] \\ \begin{aligned} S & = \sum \limits_{z=0}^{n-r} C_{n}^{z} \cdot \sum_{x=\lceil \frac{n-z-r}{2} \rceil} ^ {\lfloor \frac{n-z-l}{2} \rfloor} (C_{n-z}^{x}-C_{n-z}^{x-1}) \\ & = \sum \limits_{z=0}^{n-r} C_{n}^{z} \cdot (C_{n-z}^{\lfloor \frac{n-z-l}{2} \rfloor }-C_{n-z}^{\lceil \frac{n-z-r}{2} \rceil - 1}) \end{aligned} \]\(\square\)
这里不保证 \(p\) 是质数。分离与膜数互质与不互质的地方并重载即可。
代码慢慢写,应该也不难写。
这篇关于[数学记录]CF896D Nephren Runs a Cinema的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享