atcoder#ARC159E. [ARC159E] Difference Sum Query

[ARC159E] Difference Sum Query

题目描述

正整数 N N M M 個の正整数の組 (a0,b0),,(aM1,bM1) (a_0,b_0),\ldots,(a_{M-1},b_{M-1}) が与えられます( ai,bi a_i,b_i は添え字が 0 0 から始まることに気を付けてください)。

また、以下のような非負整数列 X=(x1,,xN) X=(x_1,\ldots,x_N) があります。

  • xi x_i は以下の手順で定まる。
    1. l=1,r=N,t=0 l=1,r=N,t=0 とする。
    2. $ m=\left\ \lfloor\ \dfrac{a_{t\ \bmod\ M}\ \times\ l\ +\ b_{t\ \bmod\ M}\ \times\ r}{a_{t\ \bmod\ M}\ +b_{t\ \bmod\ M}}\ \right\ \rfloor $ とする(  x  \lfloor\ x\ \rfloor x x を超えない最大の整数)。m=i m=i ならば xi=t x_i=t として手順を終了する。
    3. l  i < m l\ \leq\ i\ \lt\ m ならば r=m1 r=m-1 、そうでなければ l=m+1 l=m+1 とする。 t t の値を 1 1 増やし、2へ戻る。

i=1,2,,Q i=1,2,\ldots,Q に対し、j=cidi1 xj  xj+1 \sum_{j=c_i}^{d_i-1}\ |x_j\ -\ x_{j+1}| の値を求めてください。
なお、本問の制約の下、答えが 1018 10^{18} 以下であることが示せます。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M a0 a_0 b0 b_0 \vdots aM1 a_{M-1} bM1 b_{M-1} Q Q c1 c_1 d1 d_1 \vdots cQ c_Q dQ d_Q

输出格式

Q Q 行出力せよ。x x 行目には、i=x i=x に対する問題の答えを出力せよ。

题目大意

给定 N,MN,M 以及 MM 个二元组 (a0,b0),...,(aM1,bM1)(a_0,b_0),...,(a_{M-1},b_{M-1})

对于任意的 i[1,n]i\in[1,n],有 max(aibi,biai)2\max(\dfrac{a_i}{b_i},\dfrac{b_i}{a_i})\leqslant 2

生成序列 {XN}\{X_{N}\},生成方式如下:

  • 首先有 l=1,r=N,t=0l=1,r=N,t=0

  • 令 $m=\lfloor\dfrac{a_{t\bmod M}\times l+b_{t\bmod M}\times r}{a_{t\bmod M}+b_{t\bmod M}}\rfloor$,若 m=im=i 则令 Xi=tX_i=t 并结束;

  • li<ml\leqslant i<m,则令 r=m1r=m-1,柔则令 l=m+1l=m+1,令 tt+1t\leftarrow t+1 并返回第二步。

QQ 个询问,每次给定区间 (ci,di)(c_i,d_i),询问 j=cidi1XjXj+1\sum\limits_{j=c_i}^{d_i-1}|X_j-X_{j+1}|

translated by cszyf

5 1
1 1
3
1 2
2 4
3 5
1
3
2
1000000000000000 2
15 9
9 15
3
100 10000
5000 385723875
150 17095708
19792
771437738
34191100

提示

制約

  • 2  N  1015 2\ \leq\ N\ \leq\ 10^{15}
  • 1  M  100 1\ \leq\ M\ \leq\ 100
  • 1  ai,bi  1000 1\ \leq\ a_i,b_i\ \leq\ 1000
  • $ \max\ \left\ (\dfrac{a_i}{b_i},\dfrac{b_i}{a_i}\right\ )\ \leq\ 2 $
  • 1  Q  104 1\ \leq\ Q\ \leq\ 10^4
  • 1  ci < di  N 1\ \leq\ c_i\ \lt\ d_i\ \leq\ N
  • 入力はすべて整数

Sample Explanation 1

X=(1,2,0,1,2) X=(1,2,0,1,2) です。例えば、x1 x_1 は以下の手順で定まります。 - l=1,r=5(=N),t=0 l=1,r=5(=N),t=0 とする。 - $ m=3(=\left\ \lfloor\ \dfrac{1\ \times\ 1\ +\ 1\ \times\ 5}{1+1}\ \right\ \rfloor) $ とする。 - l  1 < m l\ \leq\ 1\ \lt\ m なので r=2(=m1) r=2(=m-1) とする。t t の値を 1 1 増やして 1 1 とする。 - $ m=1(=\ \left\ \lfloor\ \dfrac{1\ \times\ 1\ +\ 1\ \times\ 2}{1+1}\ \right\ \rfloor\ ) $ とする。m=1 m=1 なので x1=1(=t) x_1=1(=t) として手順を終了する。 (ci,di) (c_i,d_i) への答えは、例えば (c1,d1) (c_1,d_1) の場合、$ \sum_{j=c_i}^{d_i-1}\ |x_j\ -\ x_{j+1}|\ =\ |x_1-x_2|\ =\ 1 $ となります。