给定n,按照以下方法生成区间:先在[1,n]中随机选择一个R,然后在[1,R]中等概率随机生成一个L, 那么生成的区间为[L,R]。
按照以上方法随机生成两个区间,问这两个区间相交的概率。
答案对1e9+7取模。
数据范围:n<=1e6
1.考虑计算不相交的概率
题 目 的 先 R 再 L 是 没 有 很 大 作 用 的 , 改 成 先 L 再 R 也 一 样 , 题目的先R再L是没有很大作用的,改成先L再R也一样, 题目的先R再L是没有很大作用的,改成先L再R也一样,
其 实 就 是 随 机 选 择 一 个 区 间 , 其实就是随机选择一个区间, 其实就是随机选择一个区间,
那 么 我 们 可 以 将 取 两 个 区 间 的 问 题 变 为 : 那么我们可以将取两个区间的问题变为: 那么我们可以将取两个区间的问题变为:
1. 第 一 个 区 间 先 取 一 个 R 1 , 再 取 一 个 L 1 1.第一个区间先取一个R1,再取一个L1 1.第一个区间先取一个R1,再取一个L1
2. 第 二 个 区 间 先 取 一 个 L 2 , 再 取 一 个 R 2 2.第二个区间先取一个L2,再取一个R2 2.第二个区间先取一个L2,再取一个R2
想 要 令 两 个 区 间 不 相 交 , 那 么 要 让 R 1 < L 2 想要令两个区间不相交,那么要让R1<L2 想要令两个区间不相交,那么要让R1<L2
方 案 数 为 ∑ R 1 = 1 n ∑ L 1 = R 1 + 1 n 1 方案数为\sum_{R1=1}^n\sum_{L1=R1+1}^n1 方案数为∑R1=1n∑L1=R1+1n1
= n ∗ ( n − 1 ) / 2 =n*(n-1)/2 =n∗(n−1)/2
上 面 只 考 虑 了 R 1 和 L 2 , 没 有 考 虑 L 1 和 R 2 是 因 为 它 们 不 影 响 相 交 性 上面只考虑了R1和L2,没有考虑L1和R2是因为它们不影响相交性 上面只考虑了R1和L2,没有考虑L1和R2是因为它们不影响相交性
任 意 选 取 R 1 和 L 2 的 方 案 数 为 n 2 任意选取R1和L2的方案数为n^2 任意选取R1和L2的方案数为n2
那 么 不 相 交 的 概 率 为 n ∗ ( n − 1 ) / 2 n 2 = n − 1 2 n 那么不相交的概率为\frac {n*(n-1)/2}{n^2}=\frac {n-1}{2n} 那么不相交的概率为n2n∗(n−1)/2=2nn−1
则 相 交 的 概 率 为 1 − n − 1 2 n = n + 1 2 n 则相交的概率为1-\frac {n-1}{2n}=\frac {n+1}{2n} 则相交的概率为1−2nn−1=2nn+1
ps: 感觉有点玄学
参考: https://www.cnblogs.com/kangkang-/p/12902071.html
2.考虑直接计算相交的概率
这个好像好想一点,懒得写了,鸽了