#1006. 练习 2-不二周助的花之旅程

练习 2-不二周助的花之旅程

🎾 不二周助的花之旅程 🌸

🎐 题目描述

被誉为「天才」的不二周助,不仅球技高超,更对旅行充满热爱。他喜欢踏上旅程,前往不同的地方挑战当地的网球好手,并感受各地风情。他将要展开一段线型旅行之旅,每个城市对他来说都有不同的吸引力——我们称之为“喜欢度”($\delta$)。

每次旅行时,不二都会选择连续的几个城市进行游览。这趟旅行的开心值,就是这些连续城市“喜欢度”的总和。不过,天才也会有厌倦的时候😴——有时候他连续击败一个地区的网球高手后,会感觉乏味,导致他对这些城市的喜欢度发生变化,具体变化为原喜欢度 $\delta$ 变成 $\sqrt{\delta}$(向下取整)。

你的任务是帮助不二周助计算每次旅行后的开心值,让他更好地享受旅程,继续在网球场上绽放光芒✨。

📥 输入格式

  • 第一行是一个整数 $N$,表示城市的数量;

  • 第二行有 $N$ 个空格隔开的整数,表示每个城市初始的喜欢度 $\delta_i$;

  • 第三行是一个整数 $M$,表示需要处理的信息数量;

  • 第四行到最后,每行三个整数 $x,l,r$:

    • 当 $x=1$ 时,表示不二要询问从城市 $l$ 到城市 $r$ 这段连续旅程的开心值 $\sum\limits_{i=l}^r \delta_i$;
    • 当 $x=2$ 时,表示不二感到厌倦,从城市 $l$ 到 $r$ 的喜欢度将全部变为原值的平方根(向下取整)。

📤 输出格式

每当 $x=1$ 时,输出一行,表示该次旅行的开心值总和。

4
1 100 5 5
5
1 1 2
2 1 2
1 1 2
2 2 3
1 1 4
101
11
11

📌 样例说明

  • 一开始城市的喜欢度分别为:$[1,100,5,5]$;
  • 第一次旅行开心值为 $1 + 100 = 101$;
  • 然后不二感到厌倦,第1、2城市喜欢度变为:[1,10,5,5];
  • 第二次旅行开心值变为 $1 + 10 = 11$;
  • 接下来再进行一次喜欢度变化,城市变为:[1,3,2,5];
  • 第三次旅行开心值 $1 + 3 + 2 + 5 = 11$。

🚩 数据范围与提示

  • 对于全部数据:$1\le n\le 10^5$,$1\le m\le 2\times 10^5$,$1\le l\le r\le n$,$0\le \delta_i \le 10^9$。
  • 注意:推荐使用 sqrt 函数实现,并进行向下取整。

🌈 不二周助,期待你的精彩表现哦~ 🍀