#5191. Problem 1. Haircut
0
Problem 1. Haircut
Problem 1. Haircut
USACO 2020 US Open Contest, Gold
疲于对付他难以整平的头发,Farmer John 决定去理发。他有一排 ()缕头发,第 缕头发初始时长度为 微米()。理想情况下,他想要他的头发在长度上单调递增,所以他定义他的头发的“不良度”为逆序对的数量:满足 及 的二元对 。
对于每一个 ,FJ 想要知道他所有长度大于 的头发的长度均减少到 时他的头发的不良度。
(有趣的事实:人类平均确实有大约 根头发!)
输入格式(文件名:haircut.in):
输入的第一行包含 。
第二行包含 。
输出格式(文件名:haircut.out):
对于每一个 ,用一行输出 FJ 头发的不良度。
注意这个问题涉及到的整数大小可能需要使用 64 位整数型存储(例如,C/C++ 中的“long long”)。
输入样例:
5 5 2 3 3 0
输出样例:
0 4 4 5 7
输出的第四行描述了 FJ 的头发长度减少到 3 时的逆序对数量。 有五个逆序对: 和 。
测试点性质: 测试点 2 满足 。测试点 3-5 满足 。测试点 6-13 没有额外限制。
供题:Dhruv Rohatgi