题意:有一个歌单,歌单里有n首歌,每首歌有他的持续时间和Manao喜不喜欢的概率,Manao按顺序听歌,有如下规则:

例如有A,B,C,D四首歌

Manao listens to A, he likes it, he remembers it.

Manao listens to B, he does not like it, so he listens to A, again.
Manao listens to C, he likes the song and he remembers it, too.
Manao listens to D, but does not enjoy it and re-listens to songs A and C.

求按照怎样的顺序听歌,他听歌时间最长!

分析:大神说:

这道题的关键在于要提前排序 假设有两个相邻的顺序为
(l1,p1)   (l2,p2)
这样的话时间为 四种可能性的和
1,(l1+l2)*p1*p2
2,(2*l1+l2)*p1*(1-p2)
3,(l1+l2)*(1-p1)*p2
4,(l1+l2)*(1-p1)*(1-p2)
相反顺序的话 (l2,p2)    (l1,p1)
1,(l2+l1)*p1*p2
2,(2*l2+l1)*p2*(1-p1)
3,(l2+l1)*(1-p2)*p1
4,(l2+l1)*(1-p2)*(1-p1)
第一种顺序是我们选择的所有要大于第二中顺序 经过化简得
l1*(p1-p1*p2)>l2*(p2-p1*p2)
这个就是排序的函数
排序后从头到尾搜一遍 根据概率计算总时间

Sample Input

Input
3
150 20
150 50
100 50

Output
537.500000000

Input
4
300 0
300 50
240 50
360 80

Output
2121.000000000

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define maxn 55555
int n;
struct elem
{double l,p;
} e[maxn];
bool cmp(elem a,elem b)
{return a.l*a.p*(1-b.p)>b.l*b.p*(1-a.p);
}double f[maxn];
int main()
{scanf("%d",&n);int i;double li,pi;for(i=0;i<n;i++){scanf("%lf%lf",&li,&pi);e[i].l=li;e[i].p=pi/100.0;}sort(e,e+n,cmp);double cnt=0.0;f[0]=0.0;for(i=0;i<n;i++){f[i]=f[i-1]+e[i].p*e[i].l;   cnt+=((1-e[i].p)*(f[i-1]+e[i].l)+e[i].p*e[i].l); //如果到第i首歌,喜欢的话直接li*pi,不喜欢的话(1-pi)*(li+fi)  【fi表示之前喜欢的歌曲时间】 }printf("%lf",cnt);return 0;
}

codeforces 268E Playlist(数学期望)相关推荐

  1. 随机变量的数字特征(数学期望,方差,协方差与相关系数)

    戳这里:概率论思维导图 !!! 数学期望 离散型随机变量的数学期望 (这里要求级数绝对收敛,若不绝对收敛,则E(X)不存在) 如果有绝对收敛,则有 ,其中 连续型随机变量的数学期望 (这里要求绝对收敛 ...

  2. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  3. R语言:求二维变量数学期望

    想做一个二维变量数学期望实验, 查看若干资料终于找到方法 先看这篇文章熟悉一下R的函数 http://www.cyclismo.org/tutorial/R/tables.html 构造数据 通过下面 ...

  4. hdu 5419(数学期望)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5419 题解: 首先分母是C(m,3),考虑如何求出分子 考虑数学期望的独立性,我们首先可以用线性的时间 ...

  5. 概率论-2.2 随机变量的数学期望(重点:随机变量X的期望)

    分布有关的特征数:均值,方差,分位数等 期望的定义: 设离散随机变量X的分布列为pi=p(xi)=P(X=xi),i=1,2,-,n 若Sum(| xi |*p(xi))收敛(等价于Sum( xi * ...

  6. jzoj3801-[NOIP2014模拟8.23]骰子【数学期望】

    正题 题目链接:https://jzoj.net/senior/#main/show/3801 题目大意 mmm面的骰子是1∼m1\sim m1∼m,然后丢nnn次,求最大值的数学期望. 解题思路 若 ...

  7. HDU - 4586 数学期望

    题意 有一个骰子有n个面,掷到每一个面的概率是相等的,每一个面上都有相应的钱数.其中当你掷到某些面 一共m个面之一时,你有多掷一次的机会.问最后所得钱数的期望. 分析 数学期望是什么 数学期望就是一种 ...

  8. 几何分布的期望和方差公式推导_超几何分布的数学期望与方差推导

    考虑 个外表相同的物品,其中有 个同类物品与另一类的 个物品:抽取 个物品,每个物品的抽取等概率随机. 上述便是一个超几何分布(Hypergeometric Distribution)的基本模型. 抽 ...

  9. 概率论 —— 数学期望

    [概述] 在概率论和统计学中,一个离散型随机变量的数学期望是试验中每次可能结果的概率乘以其结果的总和. 在信息学竞赛中,期望值问题大多是求离散型随机变量的数学期望,如果 X 是一个离散的随机变量,输出 ...

  10. 区分两种题目类型中的数学期望

    在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和(百度百科) 一种类型的题目:小明抽中彩票的概率为 p,小明重复进行抽奖,则其能抽中彩票所需的抽 ...

最新文章

  1. centos 安装mysql5.7_Zabbix 4.2.5 安装部署实践详解
  2. 注入(二):修改导入表(c++)
  3. python2.7配置tensorflow1.5.0和keras2.1.6
  4. IndexedDB使用(基本函数封到Angular2的service里)
  5. E-MapReduce结合DataV进行数据展现
  6. android自助终端界面源码_这些安卓源码调试技巧,不懂的程序员月薪绝对不过 30k...
  7. 基础知识(一)matlab与c++混合编程之环境搭建
  8. python零基础学习书-零基础如何学好python?推荐6本入门书籍,帮你打基础
  9. 原生JS 将canvas生成图片
  10. 工程伦理2021秋期末考答案|网课期末考答案|学堂在线|清华大学李正风教授
  11. FileUtils常用方法 - commons-io常用工具类
  12. cad卸载不干净_【实用】流氓软件卸载不干净?
  13. C# 使用DataMatrix.net.dll进行二维码打印
  14. AI电话机器人有没有效果?具体的功能都有哪些?
  15. 深度学习21_李宏毅_02_Regression_P2
  16. 云计算在教育方面的应用
  17. 【模拟电子技术基础】本章讨论问题答案2
  18. struct dst_entry *dst
  19. 用Python编写的简化版微信客户端
  20. 大众点评的大数据实践

热门文章

  1. SVM作业题:支持向量机求最优分类面
  2. 【ESP】乐鑫系列物联网芯片
  3. 【复数表达】Deep Complex Network
  4. 深度学习:深度复数网络(Deep Complex Networks)-从论文到pytorch实现
  5. 公网地址和私网地址有哪些类型?
  6. Flutter 新版Navigator (一)
  7. steam饥荒服务器配置修改,启动服务器_饥荒联机版快速配置Dedicated Server攻略_饥荒联机版怎么配置服务器_游戏堡...
  8. mysql reopen table_mysql 临时表 cann''t reopen解决方案
  9. Word操作技巧大全(目录、图表和公式……等等)
  10. 如何更新npm版本 阿星小栈