【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 ...
随机推荐
- JFinal向客户端渲染图片的方法
JFinal提供了好几种方便的render但是不知道为啥就是没有提供直接渲染图片的render,如果我们直接在Controller的方法中往输入流中写的话是还是会有默认的render生效的,比如下面这 ...
- Caffe提取任意层特征并进行可视化
现在Caffe的Matlab接口 (matcaffe3) 和python接口都非常强大, 可以直接提取任意层的feature map以及parameters, 所以本文仅仅作为参考, 更多最新的信息请 ...
- Xcode下 gdb 调试命令
Xcode的调试器为用户提供了一个GDB的图形化界面,GDB是GNU组织的开放源代码调试器.您可以在Xcode的图形界面里做任何事情:但是,如果您需要您可以在命令行里使用GDB的命令,且gdb可以在终 ...
- [转载]PM管理技巧
产品经理的沟通策略 2016年10月11日/分类: 文章 /编辑: Amy 产品经理处于沟通枢纽的位置,工作中需要跟各种岗位的人打交道,比如:领导.开发.运营.客户.用户.合作伙伴… 沟通能力是产 ...
- django框架<三>
一.ORM操作 1.django orm创建数据库的方法 (1)指定连接pymysql(python3.x),先配置__init__.py import pymysql pymysql.instal ...
- Linux实用命令之git-svn
近日发现了有一个工具,git-svn,可以打通git svn之间的鸿沟. 很适合习惯于git,却需要维护svn代码的同学. 安装 sudo apt-get install git-svn 具体使用就不 ...
- 如何在LINUX中开机、登陆、退出、定时、定期自动运行程序
1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /et ...
- 64_q1
QMsgBox-0-9.20130830git94677dc.fc26.i686.rpm 13-Feb-2017 23:40 40674 QMsgBox-0-9.20130830git94677dc. ...
- Java线上应用故障之CPU占用高排查与定位
最近线上频繁报警CPU空闲不足,故紧急排查后分享给大家 1.使用top命令,获取占用CPU最高的进程号 2.查看线程号对应的进程信息 命令:ps -ef|grep 22630 3.查看进程对应的线程信 ...
- C# Selenium with PhantomJSDriver get image width and height (获取图片的长和高)
//get image width and height var image=driver.FindElement(By.ClassName("it-Header_authorImage&q ...