luogu#P10511. 方差

    ID: 14455 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>数学二分洛谷原创O2优化前缀和洛谷月赛

方差

题目背景

定义一个长度为 nn 的序列 aa 的方差为:

s2=1ni=1n(aia)2s^2=\frac{1}{n} \sum_{i=1}^n (a_i-\overline{a})^2

其中:\sum 为累加求和符号,例如 i=15ai=a1+a2+a3+a4+a5\sum_{i=1}^5 a_i=a_1+a_2+a_3+a_4+a_5a\overline{a} 为序列 aa 的平均数。

例如对于序列 {3,5,1,4,2}\{3,5,1,4,2\}a=3\overline{a}=3,此时 $s^2=\frac{1}{n} \sum_{i=1}^n (a_i-\overline{a})^2=\frac{1}{5}[(3-3)^2+(5-3)^2+(1-3)^2+(4-3)^2+(2-3)^2]=2$。

题目描述

小 S 认为数学很简单,于是小 R 想要考考她。

小 R 给了小 S 一个序列 aa,这个序列由 mm 段构成,第 ii 段被表示为 l r b,表示 al,al+1,,ara_l,a_{l+1},\ldots,a_rbb,保证给出的任意两个区间不相交。

现在,小 R 有 qq 个问题。形如 l r,想让你查询区间 [l,r][l,r] 的方差 s2s^2(需要注意:ll 可能等于 rr,此时该段方差为 00)。

由于这个数字可能是个小数,小 R 不方便对答案,所以他想要小 S 求出 (rl+1)2s2mod998244353(r-l+1)^2\cdot s^2\bmod 998244353。可以证明 (rl+1)2s2(r-l+1)^2\cdot s^2 一定是整数。

作为小 S 的好朋友,你能帮帮她吗?

输入格式

第一行三个正整数 n,m,qn,m,q,表示序列的长度,序列的段数和问题的个数。

接下来 mm 行,每行三个正整数,分别表示 li,ri,bil_i,r_i,b_i

接下来 qq 行,每行两个正整数 x,yx,y。你需要回答 [x,y][x,y] 的方差。

输出格式

对于每个询问,输出一行一个整数,表示你的答案。

5 3 15
1 1 5
2 2 7
3 5 8
1 1
1 2
1 3
1 4
1 5
2 2
2 3
2 4
2 5
3 3
3 4
3 5
4 4
4 5
5 5
0
4
14
24
34
0
1
2
3
0
0
0
0
0
0

提示

【样例解释】

序列 aa{5,7,8,8,8}\{ 5, 7, 8, 8, 8 \}。对于第 1212 组询问,区间 [3,5][3, 5] 的平均数 a=8\overline{a} = 8,方差 $s^2 = \frac{1}{3} [(8 - 8)^2 + (8 - 8)^2 + (8 - 8)^2] = 0$。

【数据范围】

  • 对于 20%20\% 的数据,保证 n,q100n,q\leq 100
  • 对于 50%50\% 的数据,保证 n106n\leq 10^6m103m\leq 10^3
  • 对于另外 10%10\% 的数据,保证 rili1000r_i-l_i\leq 1000q104q \leq 10^4
  • 对于另外 10%10\% 的数据,保证 m103m\leq 10^3

对于所有数据,保证:

  • 1lirin10181\leq l_i\leq r_i\leq n\leq 10^{18}1mmin(n,2×105)1\leq m\leq \min(n,2\times 10^5)1q2×1051\leq q\leq 2\times 10^51xyn1\leq x\leq y\leq n1bi10181\leq b_i\leq 10^{18}
  • 数据保证对于任意 i<ji<jli<ljl_i<l_j,且 [li,ri][l_i,r_i][lj,rj][l_j,r_j] 不存在交集,即 [li,ri][lj,rj]=[l_i,r_i]\cap[l_j,r_j]=\varnothing
  • 数据保证,若将所有的 [li,ri][l_i,r_i] 取并集,则其覆盖了 [1,n][1,n] 上所有的正整数。即:i=1n[li,ri]Z=[1,n]Z\bigcup_{i=1}^n[l_i,r_i] \cap \Z=[1,n] \cap \Z