CF739E Gosha is hunting

    • 117通过
    • 392提交
  • 题目来源 CodeForces 739E
  • 评测方式 RemoteJudge
  • 标签 最大流 期望 费用流
  • 难度 NOI/NOI+/CTSC
  • 时空限制 5000ms / 256MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题意翻译

    你要抓神奇宝贝! 现在一共有 $N$ 只神奇宝贝。 你有 $a$ 个『宝贝球』和 $b$ 个『超级球』。 『宝贝球』抓到第 $i$ 只神奇宝贝的概率是 $p_i$ ,『超级球』抓到的概率则是 $u_i$ 。 不能往同一只神奇宝贝上使用超过一个同种的『球』,但是可以往同一只上既使用『宝贝球』又使用『超级球』(都抓到算一个)。 请合理分配每个球抓谁,使得你抓到神奇宝贝的总个数期望最大,并输出这个值。

    Translated by @zhoutb2333

    题目描述

    Gosha is hunting. His goal is to catch as many Pokemons as possible. Gosha has $ a $ Poke Balls and $ b $ Ultra Balls. There are $ n $ Pokemons. They are numbered $ 1 $ through $ n $ . Gosha knows that if he throws a Poke Ball at the $ i $ -th Pokemon he catches it with probability $ p_{i} $ . If he throws an Ultra Ball at the $ i $ -th Pokemon he catches it with probability $ u_{i} $ . He can throw at most one Ball of each type at any Pokemon.

    The hunting proceeds as follows: at first, Gosha chooses no more than $ a $ Pokemons at which he will throw Poke Balls and no more than $ b $ Pokemons at which he will throw Ultra Balls. After that, he throws the chosen Balls at the chosen Pokemons. If he throws both Ultra Ball and Poke Ball at some Pokemon, he is caught if and only if he is caught by any of these Balls. The outcome of a throw doesn't depend on the other throws.

    Gosha would like to know what is the expected number of the Pokemons he catches if he acts in an optimal way. In other words, he would like to know the maximum possible expected number of Pokemons can catch.

    输入输出格式

    输入格式:

    The first line contains three integers $ n $ , $ a $ and $ b $ ( $ 2<=n<=2000 $ , $ 0<=a,b<=n $ ) — the number of Pokemons, the number of Poke Balls and the number of Ultra Balls.

    The second line contains $ n $ real values $ p_{1},p_{2},...,p_{n} $ ( $ 0<=p_{i}<=1 $ ), where $ p_{i} $ is the probability of catching the $ i $ -th Pokemon if Gosha throws a Poke Ball to it.

    The third line contains $ n $ real values $ u_{1},u_{2},...,u_{n} $ ( $ 0<=u_{i}<=1 $ ), where $ u_{i} $ is the probability of catching the $ i $ -th Pokemon if Gosha throws an Ultra Ball to it.

    All the probabilities are given with exactly three digits after the decimal separator.

    输出格式:

    Print the maximum possible expected number of Pokemons Gosha can catch. The answer is considered correct if it's absolute or relative error doesn't exceed $ 10^{-4} $ .

    输入输出样例

    输入样例#1: 复制
    3 2 2
    1.000 0.000 0.500
    0.000 1.000 0.500
    
    输出样例#1: 复制
    2.75
    
    输入样例#2: 复制
    4 1 3
    0.100 0.500 0.500 0.600
    0.100 0.500 0.900 0.400
    
    输出样例#2: 复制
    2.16
    
    输入样例#3: 复制
    3 2 0
    0.412 0.198 0.599
    0.612 0.987 0.443
    
    输出样例#3: 复制
    1.011
    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。