首先根据数据范围,可以判断基本上是n^2的复杂度

通过分析我们发现每一次都可以从m个数中任意选,既然任意选,那么此时的概率的分母就是不变的,然而题中涉及的是某一段的最大值,所以我们按套路假设

f[i][j]表示第i天,当前最大值为j的方案数,也可以是概率,

我们又发现天数是以k为一个单位的,

那么我们i从1-k枚举即可,

f[i][j]=f[i-1][j]*j(表示前一道题已经是最大值,这一道题从1-j选择)

f[i][j]=f[i-1][1---(j-1)]*1(表示当前选j,可以用前缀和维护)

这里是方案数,因为以k天为单位,所以

统计出每个f[k][i]*wt[i]*pow(pow(m,k),mod-2)的和

显然这就是k天的劳累度的期望(也可以理解为每k天的平均花费是这些)

那么求n天我们只需要看n天中有多少k,答案*(n-k+1)%mod

(顺便一提:WA95 是因为数据好像有k>n的情况,puts(0)即可,虽然数据范围说没有........)

以后做期望一定要努力推,其实想懂后真的不难

其实关于期望的题,也可以用概率或方案数去做,这题就是个假期望......

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cmath>
 6 #include<string>
 7 #include<vector>
 8 #define int long long
 9 #define MAXN 10001
10 using namespace std;
11 int f[MAXN][MAXN];
12 int wt[MAXN];
13 int n,m,k;
14 int mod=1000000007;
15 int pow(int x,int y)
16 {
17     int aa=1;
18     while(y>0)
19     {
20          if(y&1)
21          {
22             aa=aa*x%mod;
23          }
24          x=x*x%mod;
25          y>>=1;
26     }
27     return aa%mod;
28 }
29 int sum[MAXN][MAXN];
30 signed main()
31 {
32     scanf("%lld%lld%lld",&n,&m,&k);
33     if(k>n)
34     {
35         printf("0\n");
36         return 0;
37     }
38     for(int i=1;i<=m;++i)
39     {
40         scanf("%lld",&wt[i]);
41     }
42     for(int i=1;i<=m;++i)
43     {
44         f[1][i]=1;
45         sum[1][i]=sum[1][i-1]+1;
46     }
47     for(int i=2;i<=k;++i)
48     {
49         for(int j=1;j<=m;++j)
50         {
51               f[i][j]=(f[i][j]+f[i-1][j]*j)%mod;
52               f[i][j]=(f[i][j]+sum[i-1][j-1])%mod;
53         }
54         for(int j=1;j<=m;++j)
55         {
56               sum[i][j]=(sum[i][j-1]+f[i][j])%mod;
57         }
58     }
59     int ans=0;
60     for(int i=1;i<=m;++i)
61     {
62          ans=(ans+f[k][i]*wt[i]%mod)%mod;
63     }
64     printf("%lld\n",ans*pow(pow(m,k),mod-2)%mod*(n-k+1)%mod);
65 }

View Code

转载于:https://www.cnblogs.com/Wwb123/p/11263812.html

大佬(概率期望DP)相关推荐

  1. 【loj6191】「美团 CodeM 复赛」配对游戏 概率期望dp

    题目描述 n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈.问最终栈中元素个数的期望是多少. 输入 一行一个正整数 n . 输出 一行一个实数,表示期望剩下的人数, ...

  2. ACM概率期望dp刷题总结

    这个周刷了很多概率期望有关的dp题目,缘起2016青岛D题和取log的神操作题HDU 5988 2016青岛区域赛 (最小费用流) 这类题目没有固定的模板,而且概率可以很容易插入一些经典模型,比如下面 ...

  3. [NOIP2016]换教室(概率期望$DP$)

    其实吧我老早就把这题切了--因为说实话,这道题确实不难啊--李云龙:比他娘的状压DP简单多了 今天我翻以前在Luogu上写的题解时,突然发现放错代码了,然后被一堆人\(hack\)--蓝瘦啊\(ORZ ...

  4. HDU 4405 概率期望DP

    有 0到 n 个格子.掷骰子走路,求出到终点的数学期望,有飞行的路线. dp[i] 存储在i位置走到终点的期望. 转移方程dp[i]=(dp[i+1] ----> dp[i+6])/6+1; 有 ...

  5. [概率期望DP]JZOJ 4212 我想大声告诉你

    Description 因为小Y 是知名的白富美,所以自然也有很多的追求者,这一天这些追求者打算进行一次游戏来踢出一些人,小R 自然也参加了. 这个游戏有n 个人参加,每一轮随机选出一个还没有出局的人 ...

  6. bzoj3450 Easy(概率期望dp)

    3450: Tyvj1952 Easy Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 876  Solved: 648 [Submit][Statu ...

  7. bzoj2878 [Noi2012]迷失游乐园——概率期望DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2878 这个博客写得很好:https://www.cnblogs.com/qt666/p/72 ...

  8. 【BZOJ2337】XOR和路径,概率期望DP+高斯消元

    Time:2016.08.27 Author:xiaoyimi 转载注明出处谢谢 传送门 思路: 与游走思路有一定相似的地方 对答案的每一位进行判断 通过高斯消元解出每个点到n xor路径为1的概率 ...

  9. BZOJ-4008: [HNOI2015]亚瑟王 (概率期望DP)

    4008: [HNOI2015]亚瑟王 Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special Judge Submit: 1627  Solved: ...

最新文章

  1. iOS 中 load 和 initialize的实现顺序
  2. Javascript导航菜单13则
  3. 如何在MySQL中声明变量?
  4. intelliJ idea 下载安装
  5. React开发(144):Git Commit 规范
  6. stylus之选择器(Selectors)
  7. 机器学习自主解决安全威胁离我们还有多远?
  8. antimalware可以关闭吗_“对方正在输入...”什么时候会出现?可以关闭吗?
  9. C# 托管资源与非托管资源
  10. SAP License:供应商寄售业务(合作伙伴不存在修改 443消息号)
  11. 信息安全期末复习整理
  12. GitHub入门:教你如何查找GitHub中最热项目/最牛大神的方法
  13. win10隐藏3d对象等文件夹(自用)
  14. 玫琳凯携手联合国机构推出女性创业加速器计划
  15. SeedLab10: Linux Firewall Exploration Lab
  16. extern的使用方法
  17. 阿里云合作伙伴返点和代理商返点的差别
  18. 【Unity3D 教程系列第 10 篇】Unity 脚本中的生命周期流程图
  19. 包头事业单位计算机考试试题,内蒙古包头市事业单位考试题库及答案(事业编笔试题库)...
  20. 仓库管理系统(简易版)

热门文章

  1. 记录一次HBase的scan的分页查询
  2. 【Python CheckiO 题解】Largest Rectangle in a Histogram
  3. mysql 不在另一张表_mysql查询在一张表不在另外一张表的记录
  4. 【Gym - 101612C】【2017-2018NEERC】Consonant Fencity(状压枚举,预处理)
  5. 【CodeForces - 1131F 】Asya And Kittens(并查集,思维)
  6. 【CodeForces - 349C】Mafia(思维模拟,优秀的二分)
  7. java 自定义xml_6.1 如何在spring中自定义xml标签
  8. codesys 串口通讯实例_常见的PLC程序实例,车库自动门的PLC控制!
  9. php三种web开发技术,三种WEB开发主流技术ASP-PHP-JSP的评价
  10. android 中断处理流程,Android P的native crash处理流程