传送门

题解

//minamoto
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double db;
#define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
int read(){
int res,f=1;char ch;
while((ch=getc())>'9'||ch<'0')(ch=='-')&&(f=-1);
for(res=ch-'0';(ch=getc())>='0'&&ch<='9';res=res*10+ch-'0');
return res*f;
}
const int N=1.5e5+5;
struct node{
int cnt;db val;
inline node(){}
inline node(int x,db y):cnt(x),val(y){}
inline bool operator <(const node &b)const
{return val>b.val;}
inline void in(){
static int x,y;scanf("%d/%d",&x,&y);
val=(db)x/y,scanf("%d",&cnt);
}
}A[N],B[N*3];
int n,m,tot;
inline db calc(){
db res=1e18,sum=0;ll now=1,rem=m;
for(int i=n;i;--i)sum+=(B[i].cnt-1)*B[i].val*(1-B[i].val)+(1-B[i].val)*B[i+1].val,rem-=B[i].cnt;
for(int i=1;i<=n;++i){
rem-=B[i].cnt;
while(now<=n&&rem<=0)
sum-=(B[now].cnt-1)*B[now].val*(1-B[now].val)+(1-B[now].val)*B[now+1].val,rem+=B[now++].cnt;
if(rem<=0)break;
sum+=(B[i].cnt-1)*B[i].val*(1-B[i].val)+(1-B[i-1].val)*B[i].val;
res=min(res,sum+(rem-1)*B[now-1].val*(1-B[now-1].val)+(1-B[now-1].val)*B[now].val+(1-B[i].val)*B[now-1].val);
}
rem=m,sum=0;
for(int i=1;i<=n;++i){
int mn=min(rem,(ll)B[i].cnt);
if(!mn)break;rem-=mn,sum+=(mn-1)*B[i].val*(1-B[i].val)+(1-B[i-1].val)*B[i].val;
}
return res=min(res,sum);
}
int main(){
// freopen("testdata.in","r",stdin);
int T;scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i){
A[i].in();if(!A[i].cnt)--i,--n;
}
sort(A+1,A+1+n),tot=0;
for(int i=1;i<=n;++i){
B[++tot]=node(1,A[i].val);
if(--A[i].cnt){
if(A[i].cnt>1)B[++tot]=node(A[i].cnt-1,A[i].val);
B[++tot]=node(1,A[i].val);
}
}
B[0].val=1,B[(n=tot)+1].val=0;
db ans=calc();
for(int i=1;i<=(n>>1);++i)swap(B[i],B[n+1-i]);
for(int i=1;i<=n;++i)B[i].val=1-B[i].val;
ans=min(ans,calc());
printf("%.6Lf\n",fabs(ans));
}
return 0;
}

P4110 [HEOI2015]小L的白日梦的更多相关文章

  1. 【BZOJ4030】[HEOI2015]小L的白日梦

    [BZOJ4030][HEOI2015]小L的白日梦 题面 BZOJ 洛谷 题解 要求的是最小的不开心连续段的期望. 然后发现自己就不会做了. 然后就可以来抄题解啦. 首先来猜性质: 第一个,一定是按 ...

  2. BZOJ 4030: [HEOI2015]小L的白日梦

    4030: [HEOI2015]小L的白日梦 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 172  Solved: 39[Submit][Statu ...

  3. HEOI2015小L的白日梦

    题面链接 洛咕 sol 为什么网上面只有神仙题解啊!!! 引起我这种蒟蒻不适QAQ. 性质证明留给巨佬 然后我只贴性质了QwQ. 1.一定存在最优解每一天不高兴的概率是单调不增的. 2.一定存在最优解 ...

  4. bzoj4030【HEOI2015】小L的白日梦

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=4030 sol  :orz Yousiki http://www.cnblogs.com/you ...

  5. 洛谷U4727小L的二叉树[树转序列 LIS]

    题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 题目描述 在计算机科学中,二叉树是每个结点最多有两个子结点的 ...

  6. ACM D的小L

    D的小L 时间限制:4000 ms  |  内存限制:65535 KB 难度:2   描述       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给 ...

  7. bzoj 4031: [HEOI2015]小Z的房间 轮廓线dp

    4031: [HEOI2015]小Z的房间 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 98  Solved: 29[Submit][Status] ...

  8. nyoj-366-D的小L(求全排列)

    D的小L 时间限制:4000 ms  |  内存限制:65535 KB 难度:2 描述       一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡 ...

  9. 洛谷U4727 小L 的二叉树

    U4727 小L 的二叉树 题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 题目描述 在计算机科学中,二叉树 ...

随机推荐

  1. 【20】AngularJS 参考手册

    AngularJS 参考手册 AngularJS 指令 用到的 AngularJS 指令 : 指令 描述 解析 ng-app 定义应用程序的根元素. 指令 ng-bind 绑定 HTML 元素到应用程 ...

  2. boot简介

    目录 1:bootloader介绍2:如何启动一个机器3:工具 Bootloader介绍 MTK的bootloader 主要分为Pre-loader, LK. Pre-loader: 初始化PLL,U ...

  3. mysql pager用法&命令行命令

    下面讲的命令,有部分只能在linux上才有.像pager命令windows上就没有了. 分屏:在Linux上,而且不是xwindow时,使用mysql命令行时,输出太多的东西,看不到就很悲剧了.在sh ...

  4. 2018/2/27 Activiti教程之创建流程篇(与Springboot整合版)一

    因为电脑还在托运中,现在手上这台垃圾电脑实在是没法玩微服务,所以趁着这两天玩玩Activiti吧. 说实话,在学习Activiti中走了N多弯路,最大的原因就是网上没有一个完整(好)的教程,甚至连官方 ...

  5. 【NOIP2016】蚯蚓(单调队列)

    题意: 思路: 我们发现,对于任意两次切割i和j,i<j,在进行完第j次切割后,第i次切割的u/v部分一定大于等于第j次切割的u/v部分,第i次的1-u/v部分也一定大于等于第j次的1-u/v部 ...

  6. CF901C. Bipartite Segments

    n<=300000,m<=300000的图,图上只有奇环,q<=300000个询问每次问:一个区间内有多少个子区间,满足只保留编号在该区间的点以及他们之间的边,可以构成一个二分图. ...

  7. .net如何统计在线人数

    原文发布时间为:2008-10-17 -- 来源于本人的百度文章 [由搬家工具导入] 统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能, ...

  8. 【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经(转)

    应届生上泡了两年,一直都是下资料,下笔试题,面试题.一直都在感谢那些默默付出的人.写这个帖子花了我两 个夜晚的时间,不是为了炫耀,只是为了能给那些“迷惘”的学弟学妹,一点点建议而已.大家何必那么认真, ...

  9. kkpager的改进,Ajax数据变化但是页码不变的问题

    原文:http://blog.csdn.net/xiaojian1018/article/details/45564051 kkpager 是一个简单分页展示插件,需要依赖jquery.下载地址:ht ...

  10. 我的arcgis培训照片6

    来自:http://www.cioiot.com/successview-556-1.html