P3723 [AH2017/HNOI2017]礼物

    • 396通过
    • 951提交
  • 题目提供者 洛谷OnlineJudge
  • 评测方式 云端评测
  • 标签 快速傅里叶变换,DFT,FFT 进制 递归 各省省选 2017 安徽 湖南 高性能
  • 难度 省选/NOI-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题目描述

    我的室友最近喜欢上了一个可爱的小女生。马上就要到她的生日了,他决定买一对情侣手环,一个留给自己,一个送给她。每个手环上各有 n 个装饰物,并且每个装饰物都有一定的亮度。

    但是在她生日的前一天,我的室友突然发现他好像拿错了一个手环,而且已经没时间去更换它了!他只能使用一种特殊的方法,将其中一个手环中所有装饰物的亮度增加一个相同的自然数 c(即非负整数)。并且由于这个手环是一个圆,可以以任意的角度旋转它,但是由于上面装饰物的方向是固定的,所以手环不能翻转。需要在经过亮度改造和旋转之后,使得两个手环的差异值最小。

    在将两个手环旋转且装饰物对齐了之后,从对齐的某个位置开始逆时针方向对装饰物编号1,2,…,n,其中 n 为每个手环的装饰物个数, 第 1 个手环的 i 号位置装饰物亮度为 xi,第 2 个手环的 i 号位置装饰物亮度为 yi,两个手环之间的差异值为(参见输入输出样例和样例解释):

    $\sum_{i=1}^{n} (x_i-y_i)^2$

    麻烦你帮他计算一下,进行调整(亮度改造和旋转),使得两个手环之间的差异值最小,这个最小值是多少呢?

    输入输出格式

    输入格式:

    输入数据的第一行有两个数n, m,代表每条手环的装饰物的数量为n,每个装饰物的初始亮度小于等于m。

    接下来两行,每行各有n个数,分别代表第一条手环和第二条手环上从某个位置开始逆时针方向上各装饰物的亮度。

    输出格式:

    输出一个数,表示两个手环能产生的最小差异值。注意在将手环改造之后,装饰物的亮度

    可以大于 m。

    输入输出样例

    输入样例#1: 复制
    5 6
    1 2 3 4 5
    6 3 3 4 5
    输出样例#1: 复制
    1

    说明

    【样例解释】

    需要将第一个手环的亮度增加1,第一个手环的亮度变为: 2 3 4 5 6

    旋转一下第二个手环。对于该样例,是将第二个手环的亮度6 3 3 4 5向左循环移动一个位置,使得第二手环的最终的亮度为: 3 3 4 5 6。

    此时两个手环的亮度差异值为1

    【数据范围】

    30%的数据满足n≤500, m≤10;

    70%的数据满足n≤5000;

    100%的数据满足1≤n≤50000, 1≤m≤100, 1≤ai≤m。

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。