专栏文章
题解:P10986 [蓝桥杯 2023 国 Python A] 2023
P10986题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mipqwbva
- 此快照首次捕获于
- 2025/12/03 16:28 3 个月前
- 此快照最后确认于
- 2025/12/03 16:28 3 个月前
令 代表恰好有 个 时的总方案数,。
当我们遇到这种“恰好有多少个满足某个条件”的计数时,第一步大致有三种思考方向。
-
第一种就是直接计算 。
-
第二种是考虑 是否好算,然后用 就是答案。
-
第三种是考虑 或者 是否好算,然后用二项式反演求出 。
对于此题来说,第一种方法并不好用,考虑第二种和第三种。
如果我们钦定当前至少选 个 ,那么我们可以想到一种 naive 的统计方法,先固定这 个 ,然后剩下 个 数字插到 个空里,每个空允许空,并且这些数字的值随便取,那么我们有
种方案,其中 。
那么我们现在遇到了一个问题,这个值到底是 还是 或者两个都不是。
考虑 中的一种方案(即 恰好出现了 次的一种方案), 它在当前 的统计中会被重复统计 次。
考虑这是为什么,因为可以把这 个 中的 个 看作是一开始就放好的,剩下的数字看作是插进来的,这样每一种都会被统计一次,总共会被重复统计 次。
所以这个式子代表的含义就是
使用二项式反演,即可得到
时间复杂度 。
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...