计蒜客NOIP模拟赛(2) D1T2 表演艺术
凡和邻家男孩玩完了纸牌,兴致很高,于是准备了一场表演艺术对抗赛。 他特意请来了很多表演艺术家,分成绿黑两队,进行名为 PK,实则捞金的表演。
凡为了捞金,开设了一个赌局,在比赛开始之前招揽人们来押注谁能胜出,在所有人进行投注之后,凡需要告诉大家绿方和黑方的单位返还金额都是多少。
举个例子,如果绿方的单位返还金额为 555,那么我每押 111 块钱绿方胜,如果成真就能拿回 555 块钱,但是如果结果绿方输了,我就拿不回来任何钱。
凡决定将单位返还金额设得更具有吸引力,所以他要求“绿方胜的单位返还金额+黑方胜的单位返还金额=T”,并且为了赚更多的钱,凡可以在中间某两个投注的人之间更改单位返还金额,但是要求双方的总和仍然为 T,并且只能更改一次。
不幸的是,凡突然发现自己请来的表演艺术家竟然和众多投注人是一伙的,也就是说,在凡定下单位返还金额之后,那些艺术家会操纵比赛结果,从而让凡拿出更多的钱来。
这下凡有些慌了,于是他来询问你应该怎么制定单位返还金额。
输入格式
第一行一个整数 NNN,代表投注的人的个数。
接下来 NNN 行,每行两个实数 ai,bia_i,b_iai,bi 代表第 iii 个人投注黑方胜和绿方胜的资金。
最后一行一个实数 TTT,含义如题目中所示。
输出格式
一个实数,代表你最少返还的金额(保留两位小数)。
数据范围与约定

对于所有数据,0≤ai,bi,T≤1000\le a_i,b_i,T \le 1000≤ai,bi,T≤100,且至多精确到两位小数。
样例解释 1
一种最优方案是:
第一次投注及之前,单位返还金额为 101010 和 000。
第二次投注及之后,单位返还金额为 000 和 101010
这样无论哪方胜利,你都不会返还任何金钱。
样例解释 2
一种最优方案是:
第一次投注及之前,单位返还金额为 0.50.50.5 和 0.50.50.5。
第二次投注及之后,单位返还金额为 0.50.50.5 和 0.50.50.5
这样无论哪方胜利,你的返还金额都为 555。
样例输入1
3
0 10
10 0
10 0
10
样例输出1
0.00
样例输入2
2
5 5
5 5
1
样例输出2
5.00
题解:
因为无论如何都是最差情况,所以让两方胜利之后返还金额相等是最好的
先枚举在哪里分段,设分段之前押黑方胜的资金为 A,绿方胜资金为 C,之后押黑方胜资金为 B,绿方胜资金为 D,分段之前黑方胜单位返还金额为 p,分
段之后为 q,则有式子:(A+C)p+(B+D)q=(C+D)T
在满足上述式子的前提下要求 Ap+Bq 最小
稍作分析可知q,p值在某一个极值最优,意思是:要么p尽可能大,要不q尽可能大
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
double a[],b[],tota,totb,A,B,C,D,p,q,T,ans=2e9;
int n;
int main()
{int i;
cin>>n;
for (i=;i<=n;i++)
{
scanf("%lf%lf",&a[i],&b[i]);
if (a[i]<=1e-&&b[i]<=1e-) n--,i--;
tota+=a[i];totb+=b[i];
}
cin>>T;
A=;B=tota;C=;D=totb;
for (i=;i<n;i++)
{
A+=a[i];B-=a[i];C+=b[i];D-=b[i];
if (A<=D) p=T;
else p=T*(C+D)/(A+C);
q=(T*(C+D)-(A+C)*p)/(B+D);
if (A*p+B*q<ans) ans=A*p+B*q; if (B<=C) q=T;
else q=T*(C+D)/(B+D);
p=(T*(C+D)-(B+D)*q)/(A+C);
if (A*p+B*q<ans) ans=A*p+B*q;
}
printf("%.2lf",ans);
}
计蒜客NOIP模拟赛(2) D1T2 表演艺术的更多相关文章
- 计蒜客NOIP模拟赛4 D1T2小X的密室
小 X 正困在一个密室里,他希望尽快逃出密室. 密室中有 N 个房间,初始时,小 X 在 1 号房间,而出口在 N 号房间. 密室的每一个房间中可能有着一些钥匙和一些传送门,一个传送门会单向地创造一条 ...
- 计蒜客NOIP模拟赛(3) D1T2 信息传递
一个数据包在一个无向网络中传递.在时刻0,该数据包将依照特定的概率随机抵达网络中的某个节点.网络可以看做一张完全带权无向图,包含N个节点,若t时刻数据包在节点i,则在t+1时刻,数据包被传递到节点j的 ...
- 计蒜客NOIP模拟赛6 D1T1Diamond-square
Diamond-square 算法是一种能够用于生成噪声的算法,现在我们考虑这个算法的一个变种. 你有一个 2^n\times 2^n2n×2n 的网格,一共有 (2^n+1)^2(2n ...
- 计蒜客NOIP模拟赛4 D2T1 鬼脚图
鬼脚图,又称画鬼脚,在日本称作阿弥陀签,是一种经典游戏,也是一种简易的决策方法,常常用来抽签或决定分配组合. 下图就是一张鬼脚图,其包含若干条竖线和若干条横线.请注意,横线只能水平连接相邻的两条竖线, ...
- 计蒜客 NOIP模拟赛(3) D1T1火山喷发
火山喷发对所有附近的生物具有毁灭性的影响.在本题中,我们希望用数值来模拟这一过程. 在环境里有 nnn 个生物分别具有 A1,A2,⋯,An点生命值,一次火山喷发总计 M轮,每轮造成 1点伤害,等 ...
- 计蒜客NOIP模拟赛(2) D1T1邻家男孩
凡是一个具有领导力的孩子.现实生活中他特别喜欢玩一个叫做 UNO 的纸牌游戏,他也总是带着其他小朋友一起玩,然后战胜他们.慢慢地,他厌倦了胜利,于是准备发明一种新的双人纸牌游戏. 初始时,每个人手中都 ...
- 计蒜客NOIP模拟赛5 D1T1 机智的 AmyZhi
那年一个雨季,AmyZhi 在校门外弯身买参考书. 这时 SiriusRen 走过来,一言不合甩给她一道“自认为”很难的题: --------------- 给你一个数字 NN(NN 的范围是 11 ...
- 计蒜客NOIP模拟赛4 D2T2 跑步爱天天
YOUSIKI 在 noip2016 的一道<天天爱跑步>的题爆零后,潜心研究树上问题,成为了一代大师,于是皮皮妖为了测验他,出了一道题,名曰<跑步爱天天>. 有一个以 1 为 ...
- 计蒜客NOIP模拟赛4 D1T3 小X的佛光
小 X 是远近闻名的学佛,平日里最喜欢做的事就是蒸发学水. 小 X 所在的城市 X 城是一个含有 N 个节点的无向图,同时,由于 X 国是一个发展中国家,为了节约城市建设的经费,X 国首相在建造 X ...
随机推荐
- C语言第四次作业--嵌套循环
一.PTA实验作业 题目1:打印九九口诀表 1.本题PTA提交列表 2.设计思路 (1)定义三个整形变量n,j,i,n表示任意给定的正整数. (2)输入一个正整数n. (3)令i=1,i<=n, ...
- bug终结者 团队作业第八周
bug终结者 团队作业第八周 本次任务 素材提供及编辑:20162328 蔡文琛 博客修改完善:20162322 朱娅霖 "bug终结者" 宏伟蓝图 UML 手绘底稿 用例图 选项 ...
- PTA題目的處理(三)
题目7-1 高速公路超速處罰 1.實驗代碼 #include <stdio.h> //#include <stdlib.h> int main() { int csp,lsp; ...
- JAVAEE——BOS物流项目09:业务受理需求分析、创建表、实现自动分单、数据表格编辑功能使用方法和工作单快速录入
1 学习计划 1.业务受理需求分析 n 业务通知单 n 工单 n 工作单 2.创建业务受理环节的数据表 n 业务通知单 n 工单 n 工作单 3.实现业务受理自动分单 n 在CRM服务端扩展方法根据手 ...
- Java可重入锁如何避免死锁
本文由https://bbs.csdn.net/topics/390939500和https://zhidao.baidu.com/question/1946051090515119908.html启 ...
- python+flask 分分钟完美解析阿里云日志
拿到了自己阿里云服务器的日志,对其需要进行处理. class Read_Rizhi: def __init__(self,filename): self.filename=filename def o ...
- Linux入门(1)_VMware和系统分区和系统安装和远程登陆管理
1 VMware的安装和使用 注意有 快照 和 克隆 的功能. 快照相当于建立一个 系统还原点, 可以随时恢复到原来状态. 克隆功能可以复制一个和当前一样的系统,并可以选择链接安装,只使用很少的空间就 ...
- python构造一个freebuf新闻发送脚本
前言: 放假学习完web漏洞后.想写一个脚本 然而自己菜无法像大佬们一样写出牛逼的东西 尝试写了,都以失败告终. 还有一个原因:上学时间不能及时看到,自己也比较懒.邮件能提醒自己. 需要安装的模块: ...
- Web Api HttpWebRequest 请求 Api 及 异常处理
HttpWebRequest request = WebRequest.CreateHttp(url); request.Method = "post"; request.Head ...
- H5的canvas绘图技术
canvas元素是HTML5中新添加的一个元素,该元素是HTML5中的一个亮点.Canvas元素就像一块画布,通过该元素自带的API结合JavaScript代码可以绘制各种图形和图像以及动画效果. 1 ...