码迷,mamicode.com
首页 > 其他好文 > 详细

Luogu T7468 I liked Matrix!

时间:2017-08-26 20:44:25      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:like   概率   tmp   alt   .com   images   部分   计算   ons   

题目链接

题目背景

题目描述

在一个n*m 的矩阵A 的所有位置中随机填入0 或1,概率比为x : y。令B[i]=a[i][1]+a[i][2]+......+a[i][m],求min{B[i]}的期望,并将期望乘以(x + y)^nm 后对1e9+7取模。

输入输出格式

输入格式:

 共一行包含四个整数n,m,x ,y。

输出格式:

共一行包含一个整数ans,表示期望乘以(x + y)^nm 后模1e9+7的值。

输入输出样例

输入样例#1:
2 2 1 1
输出样例#1:
10

说明

对于20% 的数据:n,m,x,y<=3

对于40% 的数据:n,m,x,y<= 70

对于70% 的数据:n,m,x,y<=5000

对于100% 的数据:n,m,x,y<=200000

数学知识:

数学期望是试验中所有可能结果的概率乘以其结果的总和,它反映随机变量平均取值的大小。需要注意的是,期望值并不一定等同于常识中的期望——期望值也许与每一个结果都不相等。换句话说,期望值是该变量取值的平均数,但并不一定包含在变量的输出值集合里。

在本题中,期望E =0*P(min{B[i]}=0)+1*P(min{B[i]}=1)+2*P(min{B[i]}=2)+......+m*P(min{B[i]}=m)。

题目要求将期望乘以(x + y)^nm,可以等价于:

对于矩阵中的每一个元素暴力枚举x+y 次取值,其中x 次为0,y 次为1,一共得到(x+y)^nm 个矩阵,分别计算其min{B[i]}的值并求和。

题目来源:江苏省常州高级中学 在此鸣谢

 

 

题解:

20分做法:见上文数学知识中的“等价于”部分。

30,70分做法:不同的DP。(DP蒟蒻表示并不会写这个部分分QAQ)

100分做法:

预备知识:

二项分布(苏教版数学选修2-3内容)。

蒟蒻不会用LaTex,暂且用这个替代一下吧......

技术分享

技术分享

代码:

技术分享
 1 #include<bits/stdc++.h>
 2 #define LL long long
 3 #define f(m,j) c[j]*pow_mod(y,j)%MOD*pow_mod(x,m-j)%MOD
 4 using namespace std;
 5 const int maxn=2e5+10,MOD=1e9+7;
 6 LL fac[maxn],infac[maxn],c[maxn];
 7 LL a[maxn],s[maxn];
 8 int n,m,x,y;LL ans=0;
 9 LL pow_mod(LL a,int k)
10 {
11     LL ans=1;
12     for(;k;a=a*a%MOD,k>>=1){if(k&1){ans=ans*a%MOD;}}
13     return ans;
14 }
15 void init()
16 {
17     int i,j;
18     fac[0]=1;
19     for(i=1;i<=m;i++){fac[i]=fac[i-1]*i%MOD;}
20     for(i=0;i<=m;i++){infac[i]=pow_mod(fac[i],MOD-2);}
21     for(i=0;i<=m;i++){c[i]=fac[m]*infac[i]%MOD*infac[m-i]%MOD;}
22 }
23 int main()
24 {
25     int i,j;LL tmp;
26     cin>>n>>m>>x>>y;
27     init();
28     for(i=1;i<=m;i++){a[i]=f(m,i);s[i]=(s[i-1]+a[i])%MOD;}
29     for(i=1;i<=m;i++)
30     {
31         tmp=(s[m]-s[i-1]+MOD)%MOD;
32         ans=(ans+pow_mod(tmp,n))%MOD;
33     }
34     cout<<ans;
35     return 0;
36 }
View Code

 

Luogu T7468 I liked Matrix!

标签:like   概率   tmp   alt   .com   images   部分   计算   ons   

原文地址:http://www.cnblogs.com/XSC637/p/7436147.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!