翻译
查看原帖
翻译
84773
minecraft_herobrine楼主2021/5/10 16:42

3天了qwq


题目描述

一天,WSY同学构造了一个特殊的数列 SS ,这个数列除了角标以外还有一个固定的参数 zzSS 有一个固定的生成规则如下:

i0i\ge 0

  • imod2×(z1)zi\mod 2\times(z-1)\le z 时,Siz=imod2×(z1)S_i^z=i\mod 2\times(z-1)
  • imod2×(z1)>zi\mod 2\times(z-1)>z 时,Siz=2z(imod2(z1))S_i^z=2z-(i\mod 2*(z-1))
  • 特别的,当 imod2×(z1)=0i\mod 2\times(z-1)=0 时,Siz=2S_i^z=2

还有一个长度为 nn 的普通数列 aa 已经给出,现在让你进行如下操作:

每个操作的第一个数 opop 表示操作类型,op=1op=1 即为操作一, op=2op=2 为操作二

  • 操作一还包含两个参数 pos,valpos,val 表示将 aposa_{pos} 的值修改为 valval
  • 操作二有三个参数 l,r,zl,r,z 要求你输出下面算式的结果:

i=lr  ai×Siz\sum_{i=l}^r \ \ a_i\times S_i^z

输入格式

第一行一个整数 nn,表示数列 aa 的长度

第二行有 nn 个整数,表示数列 aa

第三行只有一个整数 mm,表示操作数

接下来 mm 行每行描述一个操作,见题目描述。

输出格式

对于每个操作二,输出算式的结果

数据范围

1n,m1051\le n,m\le 10^5

保证任何时候 ai109,2z6a_i\le 10^9,2\le z\le 6

2021/5/10 16:42
加载中...