题目名称 2491. 天才ACM
输入输出 geniusacm.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarLGLJ 于2019-10-22加入
开放分组 全部用户
提交状态
分类标签
倍增法
分享题解
通过:14, 提交:77, 通过率:18.18%
GravatarreØreOré 100 0.914 s 15.06 MiB C++
GravatarLGLJ 100 0.978 s 5.33 MiB C++
Gravatar遥时_彼方 100 1.234 s 12.59 MiB C++
Gravatar┭┮﹏┭┮ 100 1.298 s 10.31 MiB C++
GravatarTheresis 100 1.300 s 15.15 MiB C++
Gravataryrtiop 100 1.315 s 8.05 MiB C++
Gravatarop_组撒头屯 100 1.345 s 8.83 MiB C++
GravatarLGLJ 100 1.483 s 19.39 MiB C++
Gravatar00000 100 1.515 s 8.83 MiB C++
Gravatar增强型图元文件 100 1.523 s 8.83 MiB C++
关于 天才ACM 的近10条评论(全部评论)
回头看一下,这道题其实是一个相当经典的倍增 + 二分的模型,在 CTT2019 D1T2 也有考。不过再看到这个模型完全反应不过来。。
Gravataryrtiop
2024-02-18 22:57 3楼
记得开longlong
Gravatar┭┮﹏┭┮
2022-08-21 12:35 2楼
倍增大法好!!!
Gravatarムラサメ
2021-09-28 21:24 1楼

2491. 天才ACM

★★★   输入文件:geniusacm.in   输出文件:geniusacm.out   简单对比
时间限制:1 s   内存限制:256 MiB

Genius ACM

【题目描述】

Advanced CPU Manufacturer (ACM) is one of the best CPU manufacturers in the world. 每天,该公司生产 $n$ 台 CPU 并销售到世界各地。

ACM 公司的质检部门会对生产出的 CPU 进行成组测试,对一组(若干个)CPU 进行测试的方法如下:

1. 随机从该组 CPU 中选取 $m$ 对(即 $2m$ 台),若总数不足 $2m$ 台,则选取尽量多对。

2. 对于每一对 CPU,测量它们之间的 Relative Performance Difference (RPD),并把第 $i$ 对的 RPD 记为 $D_i$。RPD 的计算方法在后面给出。

3. 该组 CPU 的 Sqared Performance Difference (SPD) 由以下公式给出:

$SPD=\sum _i D^2_i$

4. 该组 CPU 通过质检,当且仅当 $SPD \le k,$ 其中 $k$ 是给定常数。

ACM 公司生产的 CPU 性能很好,而质检部门制定的标准更是过于严格。通常他们把 $n$ 台 CPU 作为一整组进行测试,这导致一些性能良好的 CPU 无法通过测试,生产部门对此颇有微词。作为质检部门的领导,小 S 在不更改质检测试流程的前提下,想出了这样一个主意:如果能够把 $n$ 台 CPU 恰当地分成连续的若干段,使得每段 CPU 都能够通过成组测试,就可以解决当下的问题。

现在,小 S 已经知道了 $n$ 台各自的性能表现 $P_1,\cdots ,P_n$,两台 CPU 的 RPD 被定义为它们性能表现的差的绝对值。请你帮忙计算一下,至少把这些 CPU 分成多少段,才能使得每一段都能通过成组测试。

【输入格式】

每个测试点包含多组数据,第一行整数 $T$ 给出数据组数。

对于每组数据,第一行三个整数 $n,m,k$,第二行 $n$ 个整数 $P_1,\cdots ,P_n$。

【输出格式】

对于每组数据,输出一个整表示答案。

【样例输入】

2
5 1 49
8 2 1 7 9
5 1 64
8 2 1 7 9

【样例输出】

2
1

【数据规模】

$1≤K≤12$

$1≤N,M≤500000$

$0≤T≤10^{18}$

$0≤Ai≤2^{20}$

【来源】

《算法竞赛进阶指南》