题目背景
洛谷的数列分块入门系列的测试数据范围和原题有不同。
题目描述
给出一个长为 n 的数列 a1…an,以及 n 个操作,操作涉及区间开方,区间求和。
输入格式
第一行输入一个数字 n。
第二行输入 n 个数字,第 i 个数字为 ai,以空格隔开。
接下来输入 n 行询问,每行输入三个数字 opt,l,r,以空格隔开。
若 opt=0,表示将位于 [l,r] 的之间的数字都开方。对于区间中每个 $a_i(l\le i\le r),\: a_i \leftarrow \left\lfloor \sqrt{a_i}\right\rfloor$
若 opt=1,表示询问位于 [l,r] 的所有数字的和。
输出格式
对于每次询问,输出一行一个数字表示答案。
4
1 2 2 3
0 1 3
1 1 4
0 1 2
1 1 2
6
2
提示
子任务
子任务 1(40 分):$1 \leq n \leq 50000, 0 \leq a_i,\mathrm{ans} \leq 2^{31}-1$。
子任务 2(60 分):1≤n≤300000,0≤ai≤231−1,0≤ans≤263−1。
对于所有测试数据,满足 1≤n≤300000,0≤ai≤231−1,0≤ans≤263−1。1≤l≤r≤n。opt∈{0,1},1≤l≤r≤n。每次操作后的 ai 满足 0≤ai≤231−1。