AT_past19_n.有限べき級数

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的非负整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N),以及一个实数 xx,满足 0<x≤10 < x \leq 1。

对于任意整数对 (l,r) (1≤l≤r≤N)(l, r)\ (1 \leq l \leq r \leq N),定义 f(l,r)f(l, r) 如下:

[
\begin{aligned}
f(l, r) &= A_l + A_{l+1}x + A_{l+2}x^2 + \cdots + A_r x^{r-l} \
&= \sum_{i=0}^{r-l} A_{i+l} x^i
\end{aligned}
]

现在有 QQ 次询问。对于第 ii 次询问 (1≤i≤Q)(1 \leq i \leq Q),给定整数对 (li,ri) (1≤li≤ri≤N)(l_i, r_i)\ (1 \leq l_i \leq r_i \leq N),请计算 f(li,ri)f(l_i, r_i)。

输入格式

输入按如下格式从标准输入读入:

NN A1A_1 A2A_2 …\ldots ANA_N xx QQ l1l_1 r1r_1 l2l_2 r2r_2 ⋮\vdots lQl_Q rQr_Q

输出格式

输出共 QQ 行。第 ii 行 (1≤i≤Q)(1 \leq i \leq Q) 输出对第 ii 次询问 (li,ri)(l_i, r_i) 计算得到的 f(li,ri)f(l_i, r_i)。

只要你的输出的相对或绝对误差不超过 10−610^{-6},就会被认为是正确答案。

输入输出样例

  • 输入#1

    7
    3 1 4 1 5 9 2
    0.25
    4
    1 3
    3 6
    1 7
    2 2

    输出#1

    3.5
    4.703125
    3.54443359375
    1
  • 输入#2

    15
    6 45 81 83 28 40 31 30 51 31 59 50 94 36 0
    0.998244353
    20
    1 2
    1 5
    1 10
    2 5
    2 10
    3 3
    3 8
    3 12
    4 4
    4 14
    5 5
    5 11
    5 13
    5 14
    6 7
    7 7
    8 10
    10 13
    10 14
    12 14

    输出#2

    50.920995885
    242.004326432639783195178618854259
    422.764240065920208662445303267128
    236.419395434977014285377699356
    417.497217803865912440022892137641
    81
    292.066191815728552247199317241863
    480.544234637661958884554506013369
    83
    528.144974561396676686531955107577
    28
    268.416129630805326045766513470066
    410.492717775411750526215653552396
    445.927866482402907904585917660160
    70.945574943
    31
    111.801707440188046879
    233.226782486727123857410847838
    268.974634315843968519190799533618
    179.708673560669989924

说明/提示

样例解释 1

对于每个询问,答案如下。

  • f(1,3)=A1×0.250+A2×0.251+A3×0.252=3+0.25+0.25=3.5f(1,3) = A_1 \times 0.25^0 + A_2 \times 0.25^1 + A_3 \times 0.25^2 = 3 + 0.25 + 0.25 = 3.5。
  • f(3,6)=A3×0.250+A4×0.251+A5×0.252+A6×0.253=4+0.25+0.3125+0.140625=4.703125f(3,6) = A_3 \times 0.25^0 + A_4 \times 0.25^1 + A_5 \times 0.25^2 + A_6 \times 0.25^3 = 4 + 0.25 + 0.3125 + 0.140625 = 4.703125。
  • f(1,7)=A1×0.250+A2×0.251+A3×0.252+A4×0.253+A5×0.254+A6×0.255+A7×0.256=3+0.25+0.25+0.015625+0.01953125+0.0087890625+0.00048828125=3.54443359375f(1,7) = A_1 \times 0.25^0 + A_2 \times 0.25^1 + A_3 \times 0.25^2 + A_4 \times 0.25^3 + A_5 \times 0.25^4 + A_6 \times 0.25^5 + A_7 \times 0.25^6 = 3 + 0.25 + 0.25 + 0.015625 + 0.01953125 + 0.0087890625 + 0.00048828125 = 3.54443359375。
  • f(2,2)=A2×0.250=1f(2,2) = A_2 \times 0.25^0 = 1。

由于只要相对或绝对误差不超过 10−610^{-6} 也是正确答案,所以如

3.5
4.703125
3.54443359375
0.999999

以及

3.4999965
4.703129703125
3.54443004931640625
1.000001

等均会被认为是正确答案。

数据范围

  • 1≤N≤2×1051\leq N\leq 2\times 10^5
  • 0≤Ai≤109 (1≤i≤N)0\leq A_i\leq 10^9\ (1\leq i\leq N)
  • 0<x≤10 < x \leq 1
  • 1≤Q≤2×1051\leq Q\leq 2\times 10^5
  • 1≤li≤ri≤N (1≤i≤Q)1\leq l_i\leq r_i\leq N\ (1\leq i\leq Q)
  • N,Ai,Q,liN, A_i, Q, l_i 和 rir_i 均为整数
  • xx 为实数,精度最多 1515 位小数

由 ChatGPT 5 翻译

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

首页