题目名称 3374. [NOI Online 2020 1st]最小环(民间数据)
输入输出 noi_online2020_ring.in/out
难度等级 ★★☆
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatar数声风笛ovo 于2020-03-07加入
开放分组 全部用户
提交状态
分类标签
贪心 记忆化搜索
查看题解 分享题解
通过:9, 提交:34, 通过率:26.47%
Gravatar锝镆氪锂铽 100 0.324 s 3.34 MiB C++
Gravatarop_组撒头屯 100 0.383 s 0.00 MiB C++
Gravatar 100 0.394 s 0.00 MiB C++
Gravatar遥时_彼方 100 0.421 s 0.00 MiB C++
Gravatar梦那边的美好ET 100 0.563 s 17.47 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.674 s 16.71 MiB C++
Gravatar斯内普和骑士 100 0.770 s 16.71 MiB C++
Gravatarnick 100 1.617 s 0.00 MiB C++
Gravatar瞻远Daniel 100 3.304 s 0.00 MiB C++
Gravatar锝镆氪锂铽 80 0.384 s 5.49 MiB C++
本题关联比赛
近5年noip/csp题目回顾
EYOI暨SBOI暑假快乐赛3rd
关于 最小环(民间数据) 的近10条评论(全部评论)
当ki正好为n的一半时,按理说ai只有一个对应的aj,但是实际上把ai*aj算了两遍
Gravatar遥时_彼方
2021-11-04 21:38 3楼
水题一道,考场憨批没写
Gravatar瑆の時間~無盡輪迴·林蔭
2020-03-09 18:00 2楼
考场上有一个式子写的和纸上的不一样,导致直接死亡.........话说我为啥忘记看补充测试数据了呢?
Gravatar斯内普和骑士
2020-03-08 19:47 1楼

3374. [NOI Online 2020 1st]最小环(民间数据)

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

【题目描述】

给定一个长度为 $n$ 的正整数序列 $a_i$,下标从 $1$ 开始编号。我们将该序列视为一个首尾相邻的环,更具体地,对于下标为 $i$,$j$ $(i \le j)$ 的两个数 $a_i , a_j$,它们的距离为 $min ( j - i , i + n - j )$。 

现在再给定 $m$ 个整数 $k_1 , k_2 , \ldots , k_m$,对每个 $k_i$ $( i = 1 , 2 , \ldots , m)$,你需要将上面的序列 $a_i$ 重新排列,使得环上任意两个距离为 $k_i$ 的数字的乘积之和最大。

【输入格式】

第一行两个正整数 $ n , m$,表示序列长度与询问数。 

接下来一行 $n$ 个正整数表示 $a_i$。 

接下来 $m$ 行每行一个非负整数表示 $k_i$。

【输出格式】

共 $m$ 行,每行一个整数表示答案。

【样例输入】

6 3
1 2 3 4 5 6
0
1
2

【样例输出】

91
82
85

【样例解释】

$k_i = 0$ 时:答案为每个数平方的和。

$k_i = 1$ 时:一种最优方案:$\{3,1,2,4,6,5\}$,答案为:

$$3 × 1 + 1 × 2 + 2 × 4 + 4 × 6 + 6 × 5 + 5 × 3 = 82$$

$k_i = 2$ 时:一种最优方案:$\{3,6,1,4,2,5\}$,答案为:

$$3 × 1 + 1 × 2 + 2 × 3 + 6 × 4 + 4 × 5 + 5 × 6 = 85$$

【数据范围与提示】

对于所有测试数据:$1 \le m \le n \le 2 \times 10^5,0 \le k \le \lfloor \frac{n}{2}\rfloor ,1 \le a_i \le 10^5$。

每个测试点的具体限制见下表:

【来源】

NOI Online2020 提高组 第一轮 Task 3

数据来源 @Knight @Mr.Chang