A35298.考拉兹猜想

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

考拉兹猜想(Collatz conjecture),又称为奇偶归一猜想、3n+13n+1 猜想、冰雹猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想。

指对于每一个正整数,如果它是奇数,则对它乘 33 再加 11;如果它是偶数,则对它除以 22,如此循环,最终都能够得到 11

即对于任意正整数 nn,我们定义

f(n)={n/2if n0(mod2)3n+1if n1(mod2)f(n) = \begin{cases} n / 2 &\tt{if\ n \equiv 0 \pmod{2}}\\ 3n + 1 &\tt{if\ n \equiv 1 \pmod{2}} \end{cases}

现重复执行该运算,形成一个序列,从任意正整数开始,把每步的结果作为下一步的输入。可记作:

ai={ni=0f(ai1)i>0a_i = \begin{cases} n &\tt{i = 0}\\ f(a_{i - 1}) &\tt{i > 0} \end{cases}

考拉兹猜想是:所有正整数最终都会到达 11,即对于上式,存在 ii 使得 ai=1a_i = 1

迄今为止,该猜想经过计算验证,所有不超过 2682.95×10202^{68} \approx 2.95 \times 10^{20} 的正整数,经过上述计算都可以得到 11

给定一个长度为 NN 的数组 A1,A2,,ANA_1, A_2, \cdots, A_N

你需要执行 QQ 个操作,第 ii 个操作的类型为 TiT_i

  • Ti=1T_i = 1:给定两个整数 LiL_iRiR_i,对数组中 [Li,Ri][L_i, R_i] 区间内所有大于 11 的元素 AiA_i 变为 f(Ai)f(A_i)
  • Ti=2T_i = 2:给定两个整数 LiL_iRiR_i,统计数组中区间 [Li,Ri][L_i, R_i] 内值为 11 的元素的个数。

数据范围\large{数据范围}

  • 1N, Q2×1051 \le N,\ Q \le 2 \times 10^5
  • Ti=1T_i = 122
  • 1Ai1051 \le A_i \le 10^5
  • 1LiRiN1 \le L_i \le R_i \le N
  • 题目保证至少有 11 个操作的类型为 Ti=2T_i = 2

输入格式

对于每个测试文件输入格式如下:

N Q\tt{N\ Q}
A1 A2  AN\tt{A_1\ A_2\ \cdots\ A_N}
T1 L1 R1\tt{T_1\ L_1\ R_1}
T2 L2 R2\tt{T_2\ L_2\ R_2}
\tt{\vdots}
TQ LQ RQ\tt{T_Q\ L_Q\ R_Q}

输出格式

对于所有的 Ti=2T_i = 2 在单独的一行中输出数组中区间 [Li,Ri][L_i, R_i] 内值为 11 的元素的个数。

输入输出样例

  • 输入#1

    10 8
    1 7 16 3 6 10 8 5 2 4
    2 1 10
    1 1 10
    1 2 8
    1 3 9
    1 2 8
    2 1 5
    1 4 10
    2 7 10

    输出#1

    1
    2
    4

说明/提示

样例 1\bf{样例\ 1:}

  1. [1,10]\tt{[1, 10]} 中的元素有 [1,7,16,3,6,10,8,5,2,4]\tt{[1, 7, 16, 3, 6, 10, 8, 5, 2,4]} 共有 1111
  2. [1,10]\tt{[1, 10]} 中的所有元素执行一次操作,数组变为 [1,22,8,10,3,5,4,16,1,2]\tt{[1, 22, 8, 10, 3, 5, 4, 16, 1, 2]}
  3. [2,8]\tt{[2, 8]} 中的所有元素执行一次操作,数组变为 [1,11,4,5,10,16,2,8,1,2]\tt{[1, 11, 4, 5, 10, 16, 2, 8, 1, 2]}
  4. [3,9]\tt{[3, 9]} 中的所有元素执行一次操作,数组变为 [1,11,2,16,5,8,1,4,1,2]\tt{[1, 11, 2, 16, 5, 8, 1, 4, 1, 2]}
  5. [28]\tt{[2, 8]} 中的所有元素执行一次操作,数组变为 [1,34,1,8,16,4,1,2,1,2]\tt{[1, 34, 1, 8, 16, 4, 1, 2, 1, 2]}
  6. [1,5]\tt{[1, 5]} 中的元素有 [1,34,1,8,16]\tt{[1, 34, 1, 8, 16]} 共有 2211
  7. [4,10]\tt{[4, 10]} 中的所有元素执行一次操作,数组变为 [1,34,1,4,8,2,1,1,1,1]\tt{[1, 34, 1, 4, 8, 2, 1, 1, 1, 1]}
  8. [7,10]\tt{[7, 10]} 中的元素有 [1,1,1,1]\tt{[1, 1, 1, 1]} 共有 4411
首页