【HDU】6410:序列期望
序列期望
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 247 Accepted Submission(s): 119
Problem Description
“看似随机,实则早已注定”——光羽
度度熊有n个随机变量x1,x2,...,xnx1,x2,...,xn。给定区间[l1,r1],...,[ln,rn][l1,r1],...,[ln,rn],变量xixi的值会等概率成为区间[li,ri][li,ri]中的任意一个整数。
显然这n个随机变量的值会有一共∏ni=1(ri−li+1)∏i=1n(ri−li+1) 种情况,且每种情况出现的概率为∏ni=11ri−li+1∏i=1n1ri−li+1
对于某种情况,令h=maxx1,x2,...,xnh=maxx1,x2,...,xn,定义这种情况的权值为:∏ni=1(h−xi+1)∏i=1n(h−xi+1).
度度熊想知道权值的期望是多少?请将答案对109+7取模后输出。
PS:不清楚期望是啥?为什么不问问神奇的百度呢?
Input
第一行一个数,表示数据组数T。
每组数据第一行一个整数n;接下来n行,每行两个数,表示li和ri。
数据组数T=100,满足:
−1≤n≤100−1≤n≤100
−1≤li≤ri≤104−1≤li≤ri≤104
其中70%的数据满足ri≤100。
Output
每组数据输出一行,每行仅包含一个数,表示期望。
假设答案为pq,请输出p×q−1 mod 109+7,此处q−1为q的逆元。
Sample Input
2
3
2 5
2 4
2 5
3
1 1
2 3
1 1
Sample Output
875000012
500000010
Hint
第二组数据的解释:序列只有两种情况(1,2,1)和(1,3,1),权值分别为2*1*2=4和3*1*3=9,答案为(4+9)/2,在模域下为500000010。
,我们先把每个M的贡献加起来最后除以每种情况的概率就是答案。#include<iostream>
#include<cstdio>
#include<algorithm>
#define RG register
#define ll long long
#define mod 1000000007
using namespace std; int n;
ll l[], r[]; inline ll mpow ( ll a, ll b ) {
ll ans = ;
for ( ; b; b >>= , a = a * a % mod )
if ( b & ) ans = ans * a % mod;
return ans;
} int main ( ) {
int T;
scanf ( "%d", &T );
while ( T -- ) {
scanf ( "%d", &n );
ll sum = , MI = , MA = ;
for ( int i = ; i <= n; i ++ ) {
scanf ( "%I64d%I64d", &l[i], &r[i] );
sum = sum * ( r[i] - l[i] + ) % mod;
MI = max( l[i], MI );
MA = max( MA, r[i] );
}
ll ans = ;
for ( RG ll h = MI; h <= MA; h ++ ) {
ll sum1 = , sum2 = ;
for ( RG int i = ; i <= n; i ++ ) {
ll L = l[i], R = min ( h, r[i] );
L = h - L + , R = h - R + ;
sum1 = ( L + R ) * ( L - R + ) / * sum1 % mod;
}
for ( RG int i = ; i <= n; i ++ ) {
ll L = l[i], R = min ( h - , r[i] );
L = h - L + , R = h - R + ;
sum2 = ( L + R ) * ( L - R + ) / * sum2 % mod;
}
ans = ( ans + ( sum1 - sum2 + mod ) % mod ) % mod;
}
ans = ans * mpow( sum, mod - ) % mod;
printf ( "%I64d\n", ans );
}
return ;
}
【HDU】6410:序列期望的更多相关文章
- HDU 5984 数学期望
对长为L的棒子随机取一点分割两部分,抛弃左边一部分,重复过程,直到长度小于d,问操作次数的期望. 区域赛的题,比较基础的概率论,我记得教材上有道很像的题,对1/len积分,$ln(L)-ln(d)+1 ...
- HDU 5570 balls 期望 数学
balls Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5570 De ...
- poj 2096 Collecting Bugs && ZOJ 3329 One Person Game && hdu 4035 Maze——期望DP
poj 2096 题目:http://poj.org/problem?id=2096 f[ i ][ j ] 表示收集了 i 个 n 的那个. j 个 s 的那个的期望步数. #include< ...
- hdu 5159 Card (期望)
Problem Description There are x cards on the desk, they are numbered from 1 to x. The score of the c ...
- hdu 5248 序列变换(二分枚举)
Problem Description 给定序列A={A1,A2,...,An}, 要求改变序列A中的某些元素,形成一个严格单调的序列B(严格单调的定义为:Bi<Bi+,≤i<N). 我们 ...
- hdu 5245 Joyful(期望的计算,好题)
Problem Description Sakura has a very magical tool to paint walls. One day, kAc asked Sakura to pain ...
- hdu 5256 序列变换 (LIS变形)
序列变换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- Maze HDU - 4035(期望dp)
When wake up, lxhgww find himself in a huge maze. The maze consisted by N rooms and tunnels connecti ...
- HDU 6348 序列计数 (树状数组 + DP)
序列计数 Time Limit: 4500/4000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Subm ...
随机推荐
- CDN基础详解
什么是 CDN? Origin Server: 源站,也就是做 CDN 之前的客户真正的服务器; User: 访问者,也就是要访问网站的网民; Edge Server: CDN 的服务 ...
- python进阶之py文件内置属性
前言 对于任何一个python文件来说,当python解释器运行一个py文件,会自动将一些内容加载到内置的属性中:一个模块我们可以看做是一个比类更大的对象. 查看模块的内置属性 我们先创建一个典型的p ...
- C++ 模版的优点和缺点
优点: 1. 灵活性, 可重用性和可扩展性; 2. 可以大大减少开发时间,模板可以把用同一个算法去适用于不同类型数据,在编译时确定具体的数据类型; 3. 模版模拟多态要比C++类继承实现多态效率要高, ...
- Linux环境Nginx安装、调试以及PHP安装
linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5 1.编译安装Nginx 官网:http://wiki.nginx.org/Install 下 ...
- (转)OpenCV 访问Mat中每个像素的值
转自:http://blog.csdn.net/xiaowei_cqu/article/details/19839019 在<OpenCV 2 Computer Vision Applicati ...
- linux中使用vim编译C++程序
Vi三种模式详解 命令行模式 (command mode/一般模式) 任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式:我们在shell环境(提示符为$)下输入启动Vi ...
- linux中的vim 编辑一行内容,如何使光标快速移动到行首和行尾以及行中间某处啊?
光标定位G 移至行行首nG 移至第n行行首n+ 移n行行首n- 移n行行首n$ 移n行(1表示本行)行尾0 所行行首$ 所行行尾^ 所行首字母h,j,k,l 左移移移右移H 前屏幕首行行首M 屏幕显示 ...
- Maven_pom文件常用
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 使用qt+visa实现程控
曾经在如何使用VS2010调用visa进行程控中使用vs2010+visa 实现了程控最简单的Demo,现实现Qt实现visa的Demo ===== 本人诚接各种程控开发项目 ===== 软件环境 系 ...
- 在ubuntu下安装kaldi基本步骤
注:最近在学习kaldi语音识别工具,在安装过程中遇到了许多问题,在此记录,以备后需. 在一开始,我看了这篇博客(http://blog.topspeedsnail.com/archives/1001 ...