Serval and Bonus Problem

题目链接:luogu CF1153F

题目大意

长度为 l 的线段,有 n 个区间端点随机分布,然后问你期望有多少长度被至少 k 个区间覆盖。

思路

首先这种随机分布的期望题考虑也把随机的时间弄成一个平均分布。
在这里就是我们可以理解为这 2n2n2n 个端点是均匀分布在 lll 上的,那每段长度就是 l2n+1\dfrac{l}{2n+1}2n+1l​。

然后我们就可以考虑 DP,设 fi,jf_{i,j}fi,j​ 为 iii 个端点,当前有 jjj 个左端点没有匹配。
那没有匹配说明要延伸过去,那只要延伸过去的数量大于等于 kkk,就说明这个段是贡献的。

然后我们考虑每个位置放左端点还是右端点,注意如果是右端点你会选跟哪个左端点,所以要乘上 jjj。

然后你考虑怎么计算答案,你前面保证了这个左端点,那右端点你也应该要保证吧。
那左右端点其实是一样的,所以你可以直接用 DP 的值,就是两个乘起来,然后左右端点匹配是一个阶乘。

然后你前面算的是方案你要除总方案才是概率,然后总方案是 f2n,0f_{2n,0}f2n,0​。

然后就可以啦。

代码

#include<cstdio>
#define ll long long
#define mo 998244353using namespace std;const int N = 2005;
int n, k, l;
ll f[N << 1][N], jc[N];ll ksm(ll x, ll y) {ll re = 1;while (y) {if (y & 1) re = re * x % mo;x = x * x % mo; y >>= 1;}return re;
}ll clac(int n, int k) {f[0][0] = 1; ll ans = 0;for (int i = 0; i < 2 * n; i++) {for (int j = 0; j <= i && j <= n; j++) {(f[i + 1][j + 1] += f[i][j]) %= mo;if (j) (f[i + 1][j - 1] += f[i][j] * j % mo) %= mo;}}for (int i = 1; i <= 2 * n; i++)for (int j = k; j <= n; j++)(ans += f[i][j] * f[2 * n - i][j] % mo * jc[j]) %= mo;return ans * ksm(f[2 * n][0], mo - 2) % mo;
}int main() {scanf("%d %d %d", &n, &k, &l); l = l * ksm(2 * n + 1, mo - 2) % mo;jc[0] = 1; for (int i = 1; i <= n; i++) jc[i] = jc[i - 1] * i % mo;printf("%lld", clac(n, k) * l % mo);return 0;
}

【luogu CF1153F】Serval and Bonus Problem(期望)(DP)相关推荐

  1. [CF1153F]Serval and Bonus Problem(dp/积分+OGF)

    其实这道题已经在我的学习笔记里面口胡过了- 但由于某种特殊原因-我写了一篇博客. 题面 Getting closer and closer to a mathematician, Serval bec ...

  2. luogu P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P4745 [CERC2017]Gambling Guide(期望DP + 最短路实现) Weblin ...

  3. CF1153F-Serval and Bonus Problem【dp,数学期望】

    正题 题目链接:https://www.luogu.com.cn/problem/CF1153F 题目大意 在有nnn个区间的左右端点在[0,l)[0,l)[0,l)范围内随机,求被至少kkk个区间覆 ...

  4. Luogu P3251 [JLOI2012]时间流逝 期望dp

    题面 题面 题解 期望\(dp\)好题! 今年\(ZJOI\)有讲过这题... 首先因为\(T\)只有\(50\),大力\(dfs\)后发现,可能的状态数最多只有\(20w\)左右,所以我们就可以大力 ...

  5. poj 2096 , zoj 3329 , hdu 4035 —— 期望DP

    题目:http://poj.org/problem?id=2096 题目好长...意思就是每次出现 x 和 y,问期望几次 x 集齐 n 种,y 集齐 s 种: 所以设 f[i][j] 表示已经有几种 ...

  6. POJ 2096 Collecting Bugs:期望dp

    题目链接:http://poj.org/problem?id=2096 题意: 有一个程序猿,他每天都会发现一个bug. bug共有n个种类.属于某一个种类的概率为1/n. 有s个子系统,每个bug属 ...

  7. 【poj2096】Collecting Bugs 期望dp

    题目描述 Ivan is fond of collecting. Unlike other people who collect post stamps, coins or other materia ...

  8. HDU 6656 Kejin Player (期望DP 逆元)

    2019 杭电多校 7 1011 题目链接:HDU 6656 比赛链接:2019 Multi-University Training Contest 7 Problem Description Cub ...

  9. WJMZBMR打osu! / Easy【期望dp】

    >Link luogu P1365 >Description 有一个长度为 n 的仅由ooo,xxx,???三个字符组成的字符串 设字符串的分数为:其中长度为 aaa 的只包含 ooo 的 ...

  10. [洛谷 1365] WJMZBMR打osu! / Easy {期望DP}

    题目 https://www.luogu.org/problemnew/show/P1365 解题思路 这是我做的第三道期望DP.跟前两道的不同之处,在于它连续的一段具有不确定性且没有给出n的范围.所 ...

最新文章

  1. 永远不要去依赖别人_读书心得马琴:永远不要依靠别人来保证你的安全读后感...
  2. linux 命令行启动虚拟机
  3. 在soa工程中使用dubbo的步骤
  4. 【数据库系统】SQL修改的注意事项
  5. C# 获得两日期之间所有月份(包括跨年)
  6. leetcode题解66-加一
  7. Toast-Android 专属浮动小提示
  8. Fedora Linux虚拟机常用开发工具
  9. 项目如何开始:怎样和客户谈需求(转)
  10. linux 程序 减肥,程序减肥三步走
  11. 遗传算法原理与应用详解
  12. icd11中文版精神障碍pdf_精神与行为障碍类别目录(ICD-11)(借鉴资料)
  13. vue json对象转数组_vue-vue-router 快速了解,多看看能扎实基础
  14. 四大垃圾回收算法七大垃圾回收器
  15. 心情是一盏温茶的宁静
  16. 检查xml写的格式是否正确的方法
  17. deep learning编程作业总结1---喵咪识别
  18. Android大作业跑酷游戏《Android studio》
  19. Word文档如何压缩?这几个方法压缩率超高,不破坏排版
  20. 四轮毂电机车身姿态相关的传感器及其运用

热门文章

  1. 【SHOI2008】【BZOJ1023】cactus仙人掌图
  2. commit规范使用gitmoji全流程 cz-customizable+commitlint+husky+conventional-changelog
  3. Python判断字符串中连续最长的递增英文字母串
  4. PCF8591 A/D转换模块
  5. 360 路由器设置 虚拟服务器,360安全路由器的设置方法
  6. CCIE实验笔记之---第1章WAN协议(HDLC)
  7. 自监督学习(一):基于 Pretext Task
  8. 台币nbsp;日元nbsp;没有小数位问题
  9. android app怎么给界面加背景图,想做一个Android app,但是背景不能铺满整个页面,不知道大家是用什么样的图片?...
  10. Redis和消息队列