题目链接:http://codeforces.com/contest/668/problem/C

-------------------------------------------------------------------------------------------

大概看一下发现题目给了一些条件限制 然后要解一个方程组

不过数据范围很大 如果直接去解的话显然很困难

考虑到此题是建立在概率的模型上的 因此我们可以用前缀和的方式先把输入处理一下

然后就转化为以下子问题

$0 <= x_1, y_1, x_2, y_2 <= 1$

$x_1 * y_1 = a$

$x_2 * y_2 = b$

$x_1 + x_2 = 1$

$y_1 + y_2 = 1$

给定$a\ b$求解$x_1\ x_2\ y_1\ y_2$

在草稿纸上画画我们可以发现此处是可以三分的

不过继续观察下我们可以限定所有的$y_i <= x_i$

于是就可以写更为简单的二分了

并且在这个限定条件下 每次求出的解实际上是相互独立的

因此对于每一对解 我们都可以通过二分处理

这样这题就以$O(nlog(10^6))$愉快地解决了

 #include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + ;
double p1[N], p2[N];
double ans1[N], ans2[N];
int n;
int main()
{
scanf("%d", &n);
for(int i = ; i <= n; ++i)
scanf("%lf", &p1[i]);
for(int i = ; i <= n; ++i)
p1[i] += p1[i - ];
for(int i = ; i <= n; ++i)
scanf("%lf", &p2[i]);
for(int i = n - ; i; --i)
p2[i] += p2[i + ];
for(int i = ; i < n; ++i)
{
double L, R, mid;
int t = ;
L = max(sqrt(p1[i]), ans1[i - ]);
R = ;
while(++t <= )
{
mid = (L + R) / ;
if(( - mid) * ( - p1[i] / mid) <= p2[i + ])
R = mid;
else
L = mid;
}
ans1[i] = R;
ans2[i] = p1[i] / R;
}
ans1[n] = ans2[n] = ;
for(int i = n; i > ; --i)
{
ans1[i] -= ans1[i - ];
ans2[i] -= ans2[i - ];
}
for(int i = ; i <= n; ++i)
printf("%.8f%c", ans1[i], i != n ? ' ' : '\n');
for(int i = ; i <= n; ++i)
printf("%.8f%c", ans2[i], i != n ? ' ' : '\n');
return ;
}

codeforces 668C - Little Artem and Random Variable的更多相关文章

  1. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 1 Edition) C. Little Artem and Random Variable 数学

    C. Little Artem and Random Variable 题目连接: http://www.codeforces.com/contest/668/problem/C Descriptio ...

  2. Introduction to Probability (5) Continus random variable

    CONTINUOUS RANDOM VARIABLES AND PDFS  连续的随机变量,顾名思义.就是随机变量的取值范围是连续的值,比如汽车的速度.气温.假设我们要利用这些參数来建模.那么就须要引 ...

  3. Jmeter入门16 数据构造之随机数Random Variable & __Random函数

     接口测试有时参数使用随机数构造.jmeter添加随机数两种方式 1  添加配置 > Random Variable  2  __Random函数   ${__Random(1000,9999) ...

  4. Codeforces 669D Little Artem and Dance (胡搞 + 脑洞)

    题目链接: Codeforces 669D Little Artem and Dance 题目描述: 给一个从1到n的连续序列,有两种操作: 1:序列整体向后移动x个位置, 2:序列中相邻的奇偶位置互 ...

  5. 【概率论】4-1:随机变量的期望(The Expectation of a Random Variable Part II)

    title: [概率论]4-1:随机变量的期望(The Expectation of a Random Variable Part II) categories: - Mathematic - Pro ...

  6. 【概率论】3-8:随机变量函数(Functions of a Random Variable)

    title: [概率论]3-8:随机变量函数(Functions of a Random Variable) categories: Mathematic Probability keywords: ...

  7. 【概率论】4-1:随机变量的期望(The Expectation of a Random Variable Part I)

    title: [概率论]4-1:随机变量的期望(The Expectation of a Random Variable Part I) categories: - Mathematic - Prob ...

  8. codeforces 442C C. Artem and Array(贪心)

    题目链接: C. Artem and Array time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  9. CodeForces - 669D Little Artem and Dance 想法题 多余操作

    http://codeforces.com/problemset/problem/669/D 题意:n个数1~N围成一个圈.q个操作包括操作1:输入x, 所有数右移x.操作2:1,2位置上的数(swa ...

随机推荐

  1. zebra代码分析

    http://blog.csdn.net/xuyanbo2008/article/details/7439738

  2. PHP之简单工厂模式(二)

    定义 简单工厂模式,通过定义一个工厂类,负责完成类实例的创建,根据参数的不同返回不同的类实例.对外部来讲,只需传入一个正常的参数就可以获得想要的对象,而不必需要具体创建细节.创建类实例的方法通常为静态 ...

  3. 清理Windows图标缓存 | 懒人屋

    原文:清理Windows图标缓存 | 懒人屋 文章背景 这是一个抄袭的文章,原文在参考资料中 运行环境 操作系统:Windows 10 x64(1903) 清理脚本 @echo off rem 关闭W ...

  4. 锋利的jQuery ——jQuery中的DOM操作(三)

    一.DOM的操作分类 1>DOM Core   2>HTML-DOM   3>CSS-DOM 二.jQuery中的DOM操作 DOM树 ①查找节点 1)查找元素节点 利用jQuery ...

  5. 自己制作 Android Vector Asset 矢量图

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/c5138891/article/deta ...

  6. FPGA异步时钟系统中信号处理之单比特信号

    有些东西当你习以为常而不去深思熟虑的时候,致命的错误就会因此埋下!      FPGA开发中难免会遇到跨时钟域处理的问题,而对于单比特信号,我会不假思索的回答:打两拍不久解决了吗?但是事实时,这佯作的 ...

  7. /proc/sys/fs/file-max

    Linux的/proc/sys/fs/file-max决定了当前内核可以打开的最大的文件句柄数. 查看当前的值: cat /proc/sys/fs/file-max 这个值在kernel的文档里是这样 ...

  8. Navicat连接阿里云服务器MSQL数据库

    新买了台服务器Navicat老是连接不上数据库,查找一圈找到解决办法.So Easy 一.shell远程登录,进入数据库 mysql -uroot -p 二.输入以下命令进行授权: GRANT ALL ...

  9. CentOS7搭建FastDFS V5.11分布式文件系统及Java整合详细过程

    1.1 FastDFS的应用场景 FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片.视频.文档等文件.对于互联网应用,和其他分布式文件系统相比,优势非常明显.其中 ...

  10. spring security There was an unexpected error (type=Forbidden, status=403).

    https://blog.csdn.net/qq_27093097/article/details/83190240 spring security There was an unexpected e ...