题解:P5520 [yLOI2019] 青原樱
P5520 [yLOI2019] 青原樱
题目
这一行中,一共有
按照这种方式种花并不难,但是令扶苏感到好奇的是一共有多少合法的方案让他把这
为了避免输出过大,答案对一个参数
测试数据只有一行四个整数,依次代表 $type,n,m,~p
说明/提示
数据规模与约定
本题采用多测试点捆绑测试,共有 6 个子任务。
| 子任务编号 | 特殊性质 | 子任务分值 | |||
|---|---|---|---|---|---|
| 1 | 特殊性质 1 | ||||
| 2 | 特殊性质 1 | ||||
| 3 | 无 | ||||
| 4 | 无 | ||||
| 5 | 特殊性质 2 | ||||
| 6 | 无 |
特殊性质 1:保证对应测试点的实际方案数(在取模前)不超过
特殊性质 2:保证
对于
。 。 。 。
题解
考虑先确定填空位置,再计算填空顺序,答案 = 填空位置方案数 × 树苗全排列;
- 填空位置方案数,使用隔板法
; - 已经确定的部分是
个物品以及它们之间的 个空位; - 考虑
个余位填入 个隔板缝隙(含两端);
方案数:
- 发现直接这么整是不行的,因为
不一定是质数。 - 注意到一个细节:我们把式子展开:
噫!好了!不用除法了!不用模数为质数了!
代码
1 |
|
延伸(至少空
若改成“相邻幼苗之间至少空
其中需要
- Title: 题解:P5520 [yLOI2019] 青原樱
- Author: Firsry
- Created at : 2025-08-12 14:40:51
- Updated at : 2025-08-12 16:02:33
- Link: https://firsryfan.github.io/2025/08/12/题解:P5520-yLOI2019-青原樱/
- License: This work is licensed under CC BY-NC-SA 4.0.