#P4435. [COCI 2017/2018 #2] ​​Garaža

    ID: 5168 远端评测题 4000ms 500MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>2017线段树分治COCI(克罗地亚)

[COCI 2017/2018 #2] ​​Garaža

题目描述

最近,Slavko 一直在研究自然数序列。他认为一个序列是有趣的,如果序列中所有元素的最大公约数大于 11。

昨天,他在车库里找到了一个由 NN 个自然数组成的序列。由于他感到非常无聊,他决定通过提出简单的查询来打发时间。每个查询可以是以下两种类型之一:

  1. 将序列中位置 XX 的值更改为 VV。

  2. 确定序列中区间 [L,R][L, R] 内包含的有趣连续子数组的数量。

输入格式

输入的第一行包含数字 NN 和 Q(1≤N,Q≤105)Q (1 \le N, Q \le 10^5),分别表示序列中的元素数量和查询的数量。

接下来的行包含 NN 个自然数 Ai(1≤Ai≤109)A_i (1 \le A_i \le 10^9),表示初始序列中的数字。

接下来的 QQ 行中的每一行包含一个查询,格式如下:

  • 行中的第一个数字可以是 11 或 22,表示查询的类型。
  • 如果查询是类型 11,后面跟着两个数字 X(1≤X≤N)X (1 \le X \le N) 和 V(1≤V≤109)V (1 \le V \le 10^9)。
  • 如果查询是类型 22,后面跟着两个数字 LL 和 R(1≤L≤R≤N)R (1 \le L \le R \le N),表示左边界和右边界。

输出格式

对于每个类型 22 的查询,输出任务中有趣的连续子数组的数量。

5 1
8 4 3 9 1
2 2 5

4
5 3
2 3 6 4 1
2 1 4
1 3 1
2 3 5

6
1

4 3
2 2 2 2
2 1 4
1 2 3
2 1 4

10
5

提示

第一个测试用例的说明:

从第 22 个位置到第 55 个位置的区间由数字 (4,3,9,1)(4, 3, 9, 1) 组成。在其中,有以下有趣的连续子数组(用方括号表示):[4]391,4[3]91,43[9]1,4[39]1[4] 3 9 1, 4 [3] 9 1, 4 3 [9] 1, 4 [3 9] 1。

题面翻译由 ChatGPT-4o 提供。