首页 > 其他分享 >CF1924E

CF1924E

时间:2024-04-09 21:57:39浏览次数:29  
标签:排列 CF1924E 纸片 转化 那么 如果 操作

题面

有一个 \(n\times m\) 的矩形纸片,放置在一个平面直角坐标系中,其左下角在 \((0,0)\),右上角在 \((n,m)\) 位置。

有多次操作,每次会均匀随机选择一条平行于坐标轴、经过坐标均为整数的点,且穿过(不能是经过边界)纸片的直线,沿此方向将纸片裁开,并扔掉裁剪线的下侧或右侧的部分。

她想要你求出期望多少次操作后,剩下纸片的面积小于 \(k\)。你只需要求出答案模 \(10^9+7\) 的结果。

数据范围:\(n,m\le 10^6\)。

题解

首先我们看成 "并扔掉裁剪线的下侧或左侧的部分。"

我们考虑将题目转化一下,将一种选取方式对应到一个排列上。

记这个排列为 \(p_1,..,p_{n+m-2}\) ,那么我们从小到大枚举 \(p_i\) :

  • 若 \(p_i\le n\) ,那么看如果当前纸片的右端 \(n'\) 是否\(>p_i\) ,如果是则表示割掉 \(p_i\) 右边的部分。如果否则不操作。
  • 若 \(p_i> n\) ,那么看如果当前纸片的上端 \(m'\) 是否\(>p_i-n\) ,如果是则表示割掉 \(p_i-n\) 上边的部分。如果否则不操作。
  • 如果此时 \(n'm'<k\) ,那么就不操作。

然后考虑期望的线性性,那么我们可以对每一个成功的操作,让其对答案产生 \(1\) 贡献。

考虑对于 \(p_i\in[1,n-1]\) ,那么对于所有 \(p_i<p_j< n\) 的 \(j\) 都要 \(>i\) ,并且对于 \(p_j\in[n,n+m-2],(p_j-n)p_i<k\) 的 \(j\) 都要 \(>i\) 。

那么就可以转化为排列 \(p_{1},...,p_{n+m-2}\),满足第 \(2\sim k+1\) 个位置的数要大于第 \(1\) 个位置的数 的概率,这个答案是 \(\frac{1}{k+1}\) 。

对于 \(p_i\in[n,n+m-2]\) 的考虑是类似的。

启发

  • 积累了一个转化模型:将一种随机选择的情况转化到排列上。

标签:排列,CF1924E,纸片,转化,那么,如果,操作
From: https://www.cnblogs.com/qwq-123/p/18124921

相关文章