AT_abc313_f.[ABC313F] Flip Machines

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有 NN 张编号为 11 到 NN 的卡片。每张卡片的正反两面分别写有整数,对于第 ii 张卡片,正面写有 AiA_i,反面写有 BiB_i。一开始,所有卡片都正面朝上。

现在有 MM 台机器,编号为 11 到 MM。第 jj 台机器关联两个 11 到 NN 之间的整数 Xj,YjX_j, Y_j(可以相同)。每次启动第 jj 台机器时,有 12\frac{1}{2} 的概率将编号为 XjX_j 的卡片翻面,剩下的 12\frac{1}{2} 的概率将编号为 YjY_j 的卡片翻面。每次启动的概率彼此独立。

现在,すぬけ君将依次进行以下操作:

  1. 选择一个由 11 到 MM 之间的整数构成的集合 SS。
  2. 按照编号从小到大的顺序,依次启动 SS 中编号的机器各一次。

请你求出,すぬけ君如何选择 SS,才能使“所有操作结束后,各卡片当前朝上的面上的整数之和”的期望值最大,并输出这个最大期望值。

输入格式

输入按以下格式从标准输入读入。

NN MM
A1A_1 B1B_1
⋮\vdots
ANA_N BNB_N
X1X_1 Y1Y_1
⋮\vdots
XMX_M YMY_M

输出格式

请输出答案。当你的输出与真值的绝对误差或相对误差不超过 10−610^{-6} 时,将被判定为正确。

输入输出样例

  • 输入#1

    3 1
    3 10
    10 6
    5 2
    1 2

    输出#1

    19.500000
  • 输入#2

    1 3
    5 100
    1 1
    1 1
    1 1

    输出#2

    100.000000
  • 输入#3

    8 10
    6918 9211
    16 1868
    3857 8537
    3340 8506
    6263 7940
    1449 4593
    5902 1932
    310 6991
    4 4
    8 6
    3 5
    1 1
    4 2
    5 6
    7 5
    3 3
    1 5
    3 1

    输出#3

    45945.000000

说明/提示

限制条件

  • 1≤N≤401 \leq N \leq 40
  • 1≤M≤1051 \leq M \leq 10^5
  • 1≤Ai,Bi≤1041 \leq A_i, B_i \leq 10^4
  • 1≤Xj,Yj≤N1 \leq X_j, Y_j \leq N
  • 输入均为整数

样例解释 1

如果选择 SS 为空集,则不会启动任何机器,此时“所有操作结束后各卡片当前朝上的面上的整数之和”的期望值为 3+10+5=183+10+5=18。如果选择 S={1}S=\{1\},则启动机器 11,

  • 若卡片 X1=1X_1=1 被翻面,则和为 10+10+5=2510+10+5=25;
  • 若卡片 Y1=2Y_1=2 被翻面,则和为 3+6+5=143+6+5=14。
    因此期望值为 25+142=19.5\frac{25+14}{2}=19.5。
    所以最大期望值为 19.519.5。

样例解释 2

可能存在多台机器拥有相同的 (Xj,Yj)(X_j, Y_j)。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页