#P14683. [Bulgarian2022]Rotations
[Bulgarian2022]Rotations
(轮转)
克利米喜欢摆弄各种和式。今天她在看一个包含 个整数的序列 。
我们把一个整数的一次**轮转(rotation)**定义为:将它十进制表示中的最后一位数字移到最前面。
例如,对 123 做一次轮转后会得到 312。
请你编写程序,支持以下两类操作:
1 L R:对位置 到 (含端点)上的每个数都执行一次轮转;2 L R:查询位置 到 (含端点)上的数之和。
为方便起见,题目保证序列中的所有数在十进制表示中都不含数字 0。
输入格式
第一行两个整数 ,分别表示数的个数与操作数。
第二行输入序列 。
接下来 行,每行描述一个操作,格式为上文两种之一。
输出格式
对于每个 2 类操作,输出一行一个整数表示答案。
数据范围
并且 的十进制表示中不含数字 0。
子任务与评分
| 子任务 | 分值 | 限制 | 额外限制 |
|---|---|---|---|
| 1 | 9 | 无 | |
| 2 | 13 | 所有 1 类操作都满足 | |
| 3 | 所有 2 类操作都满足 | ||
| 4 | 25 | ||
| 5 | 40 | 无额外限制 |
样例
输入
3 5
15 35 112
2 1 2
1 2 3
2 1 3
1 1 2
2 2 3
输出
50
279
246
样例说明
| 操作 | 说明 |
|---|---|
2 1 2 |
|
1 2 3 |
把 35 \to 53,112 \to 211 |
2 1 3 |
|
1 1 2 |
把 15 \to 51,53 \to 35 |
2 2 3 |