A10204 | Raffles
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Johnny is at a carnival which has $n$ raffles. Raffle $i$ has a prize with value $p_{i}$ . Each participant can put tickets in whichever raffles they choose (they may have more than one ticket in a single raffle). At the end of the carnival, one ticket is selected at random from each raffle, and the owner of the ticket wins the associated prize. A single person can win multiple prizes from different raffles.
However, county rules prevent any one participant from owning more than half the tickets in a single raffle, i.e. putting more tickets in the raffle than all the other participants combined. To help combat this (and possibly win some prizes), the organizers started by placing a single ticket in each raffle, which they will never remove.
Johnny bought $t$ tickets and is wondering where to place them. Currently, there are a total of $l_{i}$ tickets in the $i$ -th raffle. He watches as other participants place tickets and modify their decisions and, at every moment in time, wants to know how much he can possibly earn. Find the maximum possible expected value of Johnny's winnings at each moment if he distributes his tickets optimally. Johnny may redistribute all of his tickets arbitrarily between each update, but he may not place more than $t$ tickets total or have more tickets in a single raffle than all other participants combined.
However, county rules prevent any one participant from owning more than half the tickets in a single raffle, i.e. putting more tickets in the raffle than all the other participants combined. To help combat this (and possibly win some prizes), the organizers started by placing a single ticket in each raffle, which they will never remove.
Johnny bought $t$ tickets and is wondering where to place them. Currently, there are a total of $l_{i}$ tickets in the $i$ -th raffle. He watches as other participants place tickets and modify their decisions and, at every moment in time, wants to know how much he can possibly earn. Find the maximum possible expected value of Johnny's winnings at each moment if he distributes his tickets optimally. Johnny may redistribute all of his tickets arbitrarily between each update, but he may not place more than $t$ tickets total or have more tickets in a single raffle than all other participants combined.
输入格式
The first line contains two integers $n$ , $t$ , and $q$ ( $1<=n,t,q<=200\ 000$ ) — the number of raffles, the number of tickets Johnny has, and the total number of updates, respectively.
The second line contains $n$ space-separated integers $p_{i}$ ( $1<=p_{i}<=1000$ ) — the value of the $i$ -th prize.
The third line contains $n$ space-separated integers $l_{i}$ ( $1<=l_{i}<=1000$ ) — the number of tickets initially in the $i$ -th raffle.
The last $q$ lines contain the descriptions of the updates. Each description contains two integers $t_{k}$ , $r_{k}$ ( $1<=t_{k}<=2$ , $1<=r_{k}<=n$ ) — the type of the update and the raffle number. An update of type $1$ represents another participant adding a ticket to raffle $r_{k}$ . An update of type $2$ represents another participant removing a ticket from raffle $r_{k}$ .
It is guaranteed that, after each update, each raffle has at least $1$ ticket (not including Johnny's) in it.
The second line contains $n$ space-separated integers $p_{i}$ ( $1<=p_{i}<=1000$ ) — the value of the $i$ -th prize.
The third line contains $n$ space-separated integers $l_{i}$ ( $1<=l_{i}<=1000$ ) — the number of tickets initially in the $i$ -th raffle.
The last $q$ lines contain the descriptions of the updates. Each description contains two integers $t_{k}$ , $r_{k}$ ( $1<=t_{k}<=2$ , $1<=r_{k}<=n$ ) — the type of the update and the raffle number. An update of type $1$ represents another participant adding a ticket to raffle $r_{k}$ . An update of type $2$ represents another participant removing a ticket from raffle $r_{k}$ .
It is guaranteed that, after each update, each raffle has at least $1$ ticket (not including Johnny's) in it.
输出格式
Print $q$ lines, each containing a single real number — the maximum expected value of Johnny's winnings after the $k$ -th update. Your answer will be considered correct if its absolute or relative error does not exceed $10^{-6}$ .
Namely: let's assume that your answer is $a$ , and the answer of the jury is $b$ . The checker program will consider your answer correct, if .
Namely: let's assume that your answer is $a$ , and the answer of the jury is $b$ . The checker program will consider your answer correct, if .
输入输出样例
输入 #1
2 1 3 4 5 1 2 1 1 1 2 2 1
输出 #1
1.666666667 1.333333333 2.000000000
输入 #2
3 20 5 6 8 10 6 6 6 1 1 1 2 1 3 2 3 2 3
输出 #2
12.000000000 12.000000000 11.769230769 12.000000000 12.000000000
In the first case, Johnny only has one ticket to distribute. The prizes are worth $4$ and $5$ , and the raffles initially have $1$ and $2$ tickets, respectively. After the first update, each raffle has $2$ tickets, so Johnny has expected value  of winning by placing his ticket into the second raffle. The second update adds a ticket to the second raffle, so Johnny can win  in the first raffle. After the final update, Johnny keeps his ticket in the first raffle and wins .
In the second case, Johnny has more tickets than he is allowed to spend. In particular, after the first update, there are $7$ , $6$ , and $6$ tickets in each raffle, respectively, so Johnny can only put in $19$ tickets, winning each prize with probability . Also, note that after the last two updates, Johnny must remove a ticket from the last raffle in order to stay under  the tickets in the third raffle.
In the second case, Johnny has more tickets than he is allowed to spend. In particular, after the first update, there are $7$ , $6$ , and $6$ tickets in each raffle, respectively, so Johnny can only put in $19$ tickets, winning each prize with probability . Also, note that after the last two updates, Johnny must remove a ticket from the last raffle in order to stay under  the tickets in the third raffle.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted