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 翻译