玄关求助
  • 板块学术版
  • 楼主Xlon_WU
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/3/15 19:39
  • 上次更新2024/3/15 21:00:12
查看原帖
玄关求助
958002
Xlon_WU楼主2024/3/15 19:39

平方求和

题目背景

a2+b2=(a+b)2−2aba^2+b^2=(a+b)^2-2ab

题目描述

你需要维护一个长度为 nn 的数组,支持以下四种操作:

  • 区间加
  • 区间乘
  • 求区间内每个数的和
  • 求区间内每个数的平方的和

输入格式

第一行两个整数 n,qn,q 。

第二行 nn 个正整数 aia_i,表示初始的数组。

接下来 qq 行,每行首先有一个整数 optopt

  • 若 opt=1opt=1,则接下来有三个整数 l,r,wl,r,w ,表示将 ll 到 rr 内的数全部加上 ww 。

  • 若 opt=2opt=2,则接下来有三个整数 l,r,wl,r,w,表示将 ll 到 rr 内的数全部乘上 ww。

  • 若 opt=3opt=3,则接下来有两个整数 l,rl,r,表示求 ll 到 rr 内每个数的和。

  • 若 opt=4opt=4,则接下来有两个整数 l,rl,r,表示求 ll 到 rr 内每个数的平方的和。

输出格式

对于每个类型为 33 或 44 的操作,在一行内输出答案对 998244353998244353 取模的结果。

样例 #1

样例输入 #1

5 4
1 2 3 4 5
1 1 4 1
2 2 5 2
3 1 5
4 1 5

样例输出 #1

36
304

提示

对于 10%10\% 的数据:opt=3opt=3 或 opt=4opt=4
对于另外 20%20\% 的数据:opt=1opt=1 或 opt=3opt=3,且当 opt=1opt=1 时,l=rl=r
对于另外 20%20\% 的数据:opt=1opt=1 或 opt=3opt=3
对于另外 20%20\% 的数据:opt=2opt=2 或 opt=3opt=3
对于另外 20%20\% 的数据:opt=1opt=1 或 opt=4opt=4
对于 100%100\% 的数据: 1≤n≤1051≤n≤10^5, 1≤q≤1051≤q≤10^5, 1≤l≤r≤n1≤l≤r≤n ,0≤w0≤w , ai<998244353a_i<998244353

2024/3/15 19:39
加载中...