#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函数实现,并进行向下取整。
🌈 不二周助,期待你的精彩表现哦~ 🍀