Codeforces Round #341 (Div. 2)C. Wet Shark and Flowers(数学期望)
2016-03-05 13:31
169 查看
题意:输入n,p,给出n个区间【l,r】,从每个区间各取一个数,如果相邻两个数的乘积为p的倍数,则每个sharks可以得到1000费用看,求最终的数学期望。
首先计算每个区间选出的数为p的倍数的概率(因为p是质数,所以如果两个数的乘积为p的倍数,则两个数中至少有一个数为p的倍数)
然后计算相邻区间至少有一个数为p的倍数的概率,最后乘以2000即为所求数学期望。
首先计算每个区间选出的数为p的倍数的概率(因为p是质数,所以如果两个数的乘积为p的倍数,则两个数中至少有一个数为p的倍数)
然后计算相邻区间至少有一个数为p的倍数的概率,最后乘以2000即为所求数学期望。
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; const int INF=0x3f3f3f3f; const int maxn=100005; int n,p; double a[maxn]; int main(){ while(~scanf("%d%d",&n,&p)){ memset(a,0,sizeof(a)); int l,r; for(int i=0;i<n;i++){ scanf("%d%d",&l,&r); a[i]=(r/p-(l-1)/p)*1.0/(r-l+1); } a =a[0]; double ans=0; for(int i=0;i<n;i++){ ans+=1-(1-a[i])*(1-a[i+1]); } printf("%lf\n",ans*2000); } return 0; }
相关文章推荐
- linux ---jenkins的安装与配置
- 作死之旅: 数据动态可视化
- hdu-5437 Alisha’s Party (优先队列)
- 一起看代码来玩玩QT之18 QSqlDatabase (three 将database 通过 QTableView显示到界面上,并且增删改查
- Android开发问题记录(一)——启动Eclipse报错:发现了以元素 'd:skin' 开头的无效内容
- opencv学习三
- Java web学习(二)
- ViewPager实现无限循环,左右滑动,定时轮播及内存泄漏处理
- 2..移动APP开发使用什么样的原型设计工具比较合适?
- 光线与包围盒(AABB)的相交检测算法
- PHP中不同编码的汉字占的字节数不同gbk,GBK,UTF-8,utf-8
- 白话Spring(基础篇)---AOP(实例篇-3)
- PAT (Advanced Level) Practise 1025 PAT Ranking (25)
- P酱的冒险旅途(思维)
- linux 下的编程效率分享
- 平面分割,空间分割问题(递推关系)(hdu1249、hdu1290、hdu2050)
- 我见过最好的vsftpd配置教程(转)
- 表格隔行变色
- UESTC--758--P酱的冒险旅途(模拟)
- 跨页面传值