第一行两个个整数N,M,且1<=N<=2000,N <= M <= 2N 接下来N行,每行两个整数,X[i]、Y[i],其中1<=X[i],Y[i],且X[i]+Y[i]<=1000
一个浮点数,即期望E。确保E的精度与正解的绝对误差或相对误差小于1e-7。
2 3 500 500 500 500
2.5
期望DP~
啊♂,拖了一天,结果还是抄了尹神的呢。
我们先把m-=n,表示至少有m个是两颗星
用f[i][j]表示还有i个没有挑战过,还有j个必须是2颗星的期望,那么我们分开更新即可。
但是照这种更新方式的话,完全不需要排序使得后面的m个必须是2颗星啊。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,k;
double f[2001][2001];
struct node{
double x,y;
bool operator < (const node&u)
{
return y<u.y;
}
}a[2001];
int main()
{
scanf("%d%d",&n,&m);m-=n;
for(int i=1;i<=n;i++) scanf("%lf%lf",&a[i].x,&a[i].y);
sort(a+1,a+n+1);
for(int i=0;i<m;i++) f[n][i]=999999999;
for(int i=n-1;~i;i--)
{
for(int j=0;j<m;j++)
f[i][j]=min(
1000/(a[i+1].x+a[i+1].y)+a[i+1].x/(a[i+1].x+a[i+1].y)*f[i+1][j]
+a[i+1].y/(a[i+1].x+a[i+1].y)*f[i+1][j+1],
1000/a[i+1].y+f[i+1][j+1]);
f[i][m]=1000/(a[i+1].x+a[i+1].y)+f[i+1][m];
}
printf("%.8lf\n",f[0][0]);
return 0;
}
文章浏览阅读1.2k次,点赞10次,收藏13次。*单片机设计介绍,基于单片机12864的出租车计价器设计。
文章浏览阅读2.7k次,点赞2次,收藏33次。使用GMap.Net控件从零开始搭建一个GIS开发小框架_greatmaps
文章浏览阅读344次。模板就是建立通用的模具,大大提高复用性。_c++泛型编程编译
文章浏览阅读477次,点赞14次,收藏4次。运算符重载实际上是一种特殊形式的C++多态。重载运算符时,需要用到被称为运算符函数的特殊函数形式。运算符函数的函数名比较特殊,可以认为是operator关键字和运算符的组合。运算符函数也是一个函数,具有形参和返回值。运算符函数的定义如下:返回类型 operator 运算符符号(参数列表)函数体。_重载自增
文章浏览阅读120次。福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排《高级转录组分析和R数据可视化》于2023年12月15-17线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时互动,并录制有视频回放,无限期观看)。报名参加线上直播课的老师可在365天内选择参加同课程的一次线下课。期待和大家的线上线下相识。相关课程转录组线上/线下开课时间:2023/12/15-2023/12/17临床..._高级生信可视化图
文章浏览阅读4.9k次,点赞4次,收藏11次。linux输入多行内容至文件1. 单行写入[root@cn01 test]# echo "192.168.1.1" >test.txt[root@cn01 test]# cat test.txt 192.168.1.12. 单行追加[root@cn01 test]# echo "192.168.1.1" >>test.txt[root@cn01 test]# cat test.txt 192.168.1.1192.168.1.13. 多行写入[root@cn01 _linux写入多行内容到文件
文章浏览阅读1.6k次,点赞2次,收藏5次。与深度测试,透明度测试类似,决定一个片元是否被扔掉。深度测试的比较数据在深度缓冲中,透明度测试的比较对象是颜色缓冲中的值,而模版测试的比较数据在Stencil中,并且模板测试要先于深度测试与透明度测试,在fragment函数之前就会执行模板测试。参数描述Ref就是参考值,当参数允许赋值时,会把参考值赋给当前像素ReadMask对当前参考值和已有值进行mask操作,默认值255,一般不用WriteMask写入Mask操作,默认值255,一般不用Comp比较方法。CompAlways。......_lightmode" shader
文章浏览阅读497次。第一步:编写shell脚本,要求输出结果为数值。如下统计磁盘io /读写,队列,繁忙率等#cat /opt/zabbix/list.sh# !/bin/bashdevice=$1 #监控那个磁盘:sda,sdbaction=$2 #监控项:read,write,queue还是utilstr=`iostat -d -x | grep 'util'`#str2=`echo "$str" | aw..._zabbix 脚本参数
文章浏览阅读2.8k次。用pandas处理.csv文件时,有时我们希望保存的.csv文件没有表头,于是我去看了DataFrame.to_csv的document。发现只需要再添加header=None这个参数就行了(默认是True),下面贴上document:DataFrame.to_csv(path_or_buf=None, sep=', ', na_rep='', float_format=None, columns..._pandas 写csv 表头
文章浏览阅读1w次,点赞7次,收藏28次。前言少叙,下面开始正题。一.离散数字信号的表示n=-3:5;subplot(221);x1=(n==0);stem(n,x1,'.');title('单位冲击');axis([-4,4,-1,2]);grid on;subplot(222);x2=[n>=0];stem(n,x2,'.');title('单位阶跃');axis([-4,4,-1,2]);grid;subplot(2_陷波滤波器matlab幅相频曲线
文章浏览阅读327次,点赞7次,收藏5次。只有做好这些安全设置,才能确保你的邮件发送过程既顺畅又安全。AokSend,利用API/SMTP接口,轻松对接QQ邮箱SMTP,一键发送邮件,高效便捷,助力企业沟通无障碍,营销宣传更给力!
文章浏览阅读135次。《算法笔记》2.5小节——C/C++快速入门->数组26039 Problem A 习题6-4 有序插入#include <stdio.h>int main() { int a[10]; for (int i = 0; i < 10; i++) { scanf("%d", &a[i]); } int temp = a[9]; int j; f...