P17717 [LAOI Round 21] 拼积木 / block

题目背景

题目来源:【HT-130-Div.3】核桃 CSP-J 组模拟赛 [LAOI](https://www.luogu.com.cn/team/48237) 欢迎您。

题目描述

在变完魔术以后,小 Hex 和小 Toast 又开始玩起了他的积木。 小 Hex 把他的所有积木整理起来,按美丽度**从大到小**的顺序把他的所有积木排成一行。此时排序后第 $i$ 块积木的美丽度为 $b_i$。现在小 Hex 想把他的一段连续区间的所有积木拼成一座积木塔,并邀请小 Toast 观赏。 然而小 Toast 对积木塔有着独特的审美。小 Toast 计算一段区间 $[l,r]$ 的积木的「奇异值($t$)」的方法如下: - 首先,小 Hex 拿出了第 $l$ 块积木 - 此时令 $t=a_l$。 - 接下来,小 Hex 会依次将第 $l+1$,第 $l+2$,$\cdots$,第 $r$ 块积木拼在现有的积木塔上。假设小 Hex 目前在拼接第 $i$ 块积木。 - 此时令 $t\gets \lfloor\frac{\max(t,a_i)}{\min(t,a_i)}\rfloor$。 最终,如果奇异值 $t$ 为 $1$,那么小 Toast 则称这段区间是好的。现在小 Toast 想要知道,对于所有的 $1\leq l \leq r \leq n$,有多少段区间是好的? #### 简要题意 多次询问,每次给定一个**单调不增**的序列 $b$,对于 $b$ 的一个非空区间 $[l,r]$,初始时令变量 $t=b_l$。从 $l+1$ 到 $r$ 枚举下标 $i$,依次执行操作 $t:=\lfloor\frac{\max(t,b_i)}{\min(t,b_i)}\rfloor$,所有操作完成后最终 $t=1$,则称这个区间是好的。 现询问 $A$ 有多少个非空区间是好的。

输入格式

**本题有多组测试数据。** 第一行给定一个正整数 $T$,表示数据组数。 对于每组数据: - 第一行输入一个正整数 $n$,表示序列长度; - 第二行输入 $n$ 个正整数,表示序列 $b$。

输出格式

共 $T$ 行,对于每组测试数据,输出一个整数表示答案。

说明/提示

#### 【样例 1 解释】 - 对于第一组测试数据,好的区间有 $[1,2]$、$[2,3]$; - 如果区间为 $[1,2]$,那么初始时 $t=3$,拼接第 $2$ 块积木时,$t\gets \lfloor\frac{\max(3,2)}{\min(3,2)}\rfloor=\lfloor\frac{3}{2}\rfloor=1$。因此这个区间是好的。 - 如果区间为 $[2,3]$,那么初始时 $t=2$,拼接第 $3$ 块积木时,$t\gets \lfloor\frac{\max(2,2)}{\min(2,2)}\rfloor=\lfloor\frac{2}{2}\rfloor=1$。因此这个区间是好的。 - 对于第二组测试数据,可以证明不存在好的区间。 - 对于第三组测试数据,好的区间有 $[1,2]$、$[1,4]$、$[2,3]$、$[1,5]$、$[3,4]$、$[3,5]$、$[5,5]$。 #### 【样例 3】 见选手目录下的 block/block3.in 与 block/block3.ans。 该样例满足测试点 $1$ 的约束条件。 #### 【样例 4】 见选手目录下的 block/block4.in 与 block/block4.ans。 该样例满足测试点 $2,3$ 的约束条件。 #### 【样例 5】 见选手目录下的 block/block5.in 与 block/block5.ans。 该样例满足测试点 $4\sim 6$ 的约束条件。 #### 【样例 6】 见选手目录下的 block/block6.in 与 block/block6.ans。 该样例满足测试点 $7,8$ 的约束条件。 #### 【样例 7】 见选手目录下的 block/block7.in 与 block/block7.ans。 该样例满足测试点 $9\sim 11$ 的约束条件。 #### 【样例 8】 见选手目录下的 block/block8.in 与 block/block8.ans。 该样例满足测试点 $12\sim 20$ 的约束条件。 #### 【数据范围】 对于所有测试数据,保证 $1\le T\le 10^6$,$1\le n,\sum n \le 10^6$,$1\le b_i\le 10^9$。 为表述方便,下面记 $\sum n$ 为测试点内所有 $n$ 之和。 ::cute-table{tuack} |测试点编号|$n,\sum n$|特殊性质| |:-:|:-:|:-:| |$1$|$\le 5\times 10^2$|无| |$2,3$|$\le 5\times 10^3$|无| |$4\sim 6$|$\le 10^6$| A | |$7,8$|^| B | |$9\sim 11$|^| C | |$12\sim 20$|^|无| 特殊性质 A:对于所有的 $i(1\leq i\leq n)$,保证 $b_i=n-i+1$。 特殊性质 B:保证所有的 $b_i$ 相同。 特殊性质 C:对于所有的 $i(1\leq i\leq n)$,保证 $1\leq b_i\leq 20$。