CF1696G Fishingprince Plays With Array Again

题目描述

给定一个以 $1$ 为下标起点的非负整数序列 $a$,长度为 $n$,以及两个整数 $x$、$y$。在连续的 $t$ 秒内($t$ 可以为任意正实数),你可以进行以下两种操作之一: - 选择 $1\le i

输入格式

第一行输入两个整数 $n$ 和 $q$($2\le n\le 2\cdot 10^5$,$1\le q\le 2\cdot 10^5$)。 第二行输入两个整数 $x$ 和 $y$($1\le x,y\le 10^6$)。 第三行输入 $n$ 个整数 $b_1,b_2,\ldots,b_n$($1\le b_i\le 10^6$)。 接下来 $q$ 行,每行包含三个整数。第一个整数 $op$ 为 $1$ 或 $2$。 - 若为 $1$,后接两个整数 $k$、$v$($1\le k\le n$,$1\le v\le 10^6$),表示将 $b_k$ 修改为 $v$。 - 若为 $2$,后接两个整数 $l$、$r$($1\le l

输出格式

对于每个类型为 $2$ 的查询,输出一个实数,表示该查询的答案。只要你的答案的绝对误差或相对误差不超过 $10^{-9}$,就视为正确。

说明/提示

我们来分析样例。 在第一个查询中,要求计算 $f([3,1,1,4])$。答案为 $3.5$。一种最优操作序列为: - 首先用 $1.5$ 秒对 $i=1$ 执行第二种操作。 - 接着用 $2$ 秒对 $i=3$ 执行第一种操作。 在第三个查询中,要求计算 $f([1,1,1])$。答案为 $1$。一种最优操作序列为: - 首先用 $0.5$ 秒对 $i=1$ 执行第二种操作。 - 接着用 $0.5$ 秒对 $i=2$ 执行第一种操作。 由 ChatGPT 4.1 翻译