【模拟7.29】大佬(概率期望DP)
首先根据数据范围,可以判断基本上是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 }
【模拟7.29】大佬(概率期望DP)的更多相关文章
- 【BZOJ-1419】Red is good 概率期望DP
1419: Red is good Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 660 Solved: 257[Submit][Status][Di ...
- 【bzoj4832】[Lydsy2017年4月月赛]抵制克苏恩 概率期望dp
题目描述 你分别有a.b.c个血量为1.2.3的奴隶主,假设英雄血量无限,问:如果对面下出一个K点攻击力的克苏恩,你的英雄期望会受到到多少伤害. 输入 输入包含多局游戏. 第一行包含一个整数 T (T ...
- 【loj6191】「美团 CodeM 复赛」配对游戏 概率期望dp
题目描述 n次向一个栈中加入0或1中随机1个,如果一次加入0时栈顶元素为1,则将这两个元素弹栈.问最终栈中元素个数的期望是多少. 输入 一行一个正整数 n . 输出 一行一个实数,表示期望剩下的人数, ...
- Codeforces - 1264C - Beautiful Mirrors with queries - 概率期望dp
一道挺难的概率期望dp,花了很长时间才学会div2的E怎么做,但这道题是另一种设法. https://codeforces.com/contest/1264/problem/C 要设为 \(dp_i\ ...
- 概率期望dp
对于概率dp,我一直都弄得不是特别明白,虽然以前也有为了考试去突击过,但是终究还是掌握得不是很好,所以决定再去学习一遍,把重要的东西记录下来. 1.hdu4405 Description 在一个 \( ...
- Codeforces 908 D.New Year and Arbitrary Arrangement (概率&期望DP)
题目链接:New Year and Arbitrary Arrangement 题意: 有一个ab字符串,初始为空. 用Pa/(Pa+Pb)的概率在末尾添加字母a,有 Pb/(Pa+Pb)的概率在末尾 ...
- [BZOJ4832]抵制克苏恩(概率期望DP)
方法一:倒推,最常规的期望DP.f[i][a][b][c]表示还要再攻击k次,目前三种随从个数分别为a,b,c的期望攻击英雄次数,直接转移即可. #include<cstdio> #inc ...
- LightOJ 1030 Discovering Gold (概率/期望DP)
题目链接:LightOJ - 1030 Description You are in a cave, a long cave! The cave can be represented by a \(1 ...
- [NOIP2016]换教室(概率期望$DP$)
其实吧我老早就把这题切了--因为说实话,这道题确实不难啊--李云龙:比他娘的状压DP简单多了 今天我翻以前在Luogu上写的题解时,突然发现放错代码了,然后被一堆人\(hack\)--蓝瘦啊\(ORZ ...
随机推荐
- UVA OJ 623 500!
500! In these days you can more and more often happen to see programs which perform some useful cal ...
- JAVA 面试相关
1. int和Integer有什么区别? 答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类 ...
- 前端必读:Vue响应式系统大PK(下)
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://www.sitepoint.com/vue-3-reactivity-system ...
- java基础——何为方法
方法 java中方法时语句的集合,他们在一起执行一个功能 方法时解决一类问题的步骤的有序组合 方法包含于与类或者对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:保持其原子性. 就是一个方 ...
- 华为eNSP模拟器— telnet实验
华为eNSP模拟器-telnet实验 一.实验一 路由交换之间实现telnet登陆 实验拓扑 实验目的: 路由器作为 telnet 服务器 交换机作为客户端去连接路由器 实验步骤: 路由器配置 < ...
- 026.Python面向对象类的相关操作以及对象和类的删除操作
类的相关操作 定义的类访问共有成员的成员和方法 定义的类动态添加公有成员的属性和方法 定义的类删除公有成员的属性和方法 1 定义一个基本的类 #定义一个类 class Plane(): #添加一个共有 ...
- zabbix监控之自动发现/自动注册
一.自动发现 1.概述 自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法.例如,zabbix可以在你的机器上自动开始监控文件系统或者网络接口,而无需为每个文件系统或网 ...
- windows server 2008 rdp停止服务 - windows server 2012 R2 远程桌面授权模式尚未配置,远程桌面服务将在120天内停止工作
目录 问题现象 增长rdp服务可使用时长的配置 Via & reference: 问题现象 windows server 2008作为测试环境跳板机,但是没有配置官方的rdp授权,限制用户登录 ...
- System Verilog MCDF(二)
整形器的接口时序: reg,grant是维持了两个clk的. chid ,length在发送数据期间不可以变化. 第一个data数据必须在start上升沿的同一个clk发送. reg,grant两者之 ...
- PHP转JAVA开发30分钟实战攻略
服务端开发中,有很多知识是相通的,例如mysql,redis,http协议等. 基于这些基础,在编程语言上的转变并不困难. 本文主要从下面几点出发,讲述如何快速从php开发转为java开发: 使用框架 ...