CF2159D1 Inverse Minimum Partition (Easy Version)
题目描述
这是该问题的简单版本。不同版本之间的区别在于,这一版本只要求你找到 $f(a)$。只有当你解决了所有版本的问题后,才能进行攻击。
对于某个长度为 $k$ 的正整数序列 $b$,序列的代价定义如下$^{*}$:
$$
\mathtt{cost}(b)=\left\lceil\frac{b_k}{\min(b_1,b_2,\ldots,b_k)}\right\rceil
$$
假设你将一个序列 $c$ 划分成一个或多个子序列,拼接后能够还原出 $c$。例如,当序列 $c$ 为 $[3,1,4,1,5]$ 时,以下几种划分是合法的:$[[3,1],[4,1,5]]$,$[[3],[1,4,1],[5]]$,$[[3,1,4,1,5]]$。而 $[[3,1],[1,5]]$ 和 $[[3,4,1],[1,5]]$ 并不是合法的划分方式。
对于一个正整数序列 $c$ 的某种划分,其总总代价定义为所有子序列代价之和。我们定义 $f(c)$ 为能够将序列 $c$ 划分后的最小总代价。
给定一个长度为 $n$ 的正整数序列 $a$,请你计算 $f(a)$ 的值。
$^{*}$给定实数 $x$,$\left\lceil x\right\rceil$ 表示不小于 $x$ 的最小整数。例如,$\left\lceil3.14\right\rceil$ 的值为 $4$。
输入格式
每组测试数据包含多组用例。第一行包含测试用例数 $t$($1\le t\le 10^4$)。每组用例的描述如下:
每组用例的第一行包含一个整数 $n$($1\le n\le 4\times 10^5$)。
第二行包含 $a_1,a_2,\ldots,a_n$($1\le a_i\le 10^{18}$)。
保证所有用例的 $n$ 之和不超过 $4\times 10^5$。
输出格式
对于每个测试用例,输出一行答案。
说明/提示
对于第一个测试用例,划分 $[[3,1,4,1],[5]]$ 可得到总代价 $1+1=2$。
对于第二个测试用例,划分 $[[9,2,6,5,3],[5,8,9,7,9]]$ 可得到总代价 $2+2=4$。
对于第三个测试用例,划分 $[[1],[2,3,4],[5,6,7,8]]$ 可得到总代价 $1+2+2=5$。
对于第四个测试用例,划分 $[[1],[1\,000\,000\,000\,000\,000\,000]]$ 可得到总代价 $1+1=2$。
由 ChatGPT 5 翻译