港口——差分与贪心
题目描述
港口有nnn堆货物,他们的重量分别为w1,w2,⋯ ,wnw_1,w_2,\cdots,w_nw1,w2,⋯,wn,每堆货物的重量不一定相同。
吊车师傅每次操作可以使任意第lll堆到第rrr堆的货物都增加一个重量或者减少一个单位重量。请问吊车师傅最少需要执行几次操作可以使nnn堆货物重量都相同。
输入格式
第一行输入正整数nnn。
第二行输入nnn个整数,第iii个整数表示wiw_iwi 。
输出格式
共一行,输出最少操作次数。
输入样例
5
0 1 1 1 0
输出样例
1
数据规模
对于100%100\%100%的数据,1≤n≤1000001 \leq n \leq 1000001≤n≤100000,0≤wi≤1090 \leq w_i \leq 10^90≤wi≤109
题目解答
我相信已经有很多大佬看出这是一道差分板子题,但我们这些蒟蒻现在肯定是无从下手。那我们就从简单的开始,先假设n=2n=2n=2:

- 可以发现,答案就是如图灰色部分,也就是∣w1−w2∣|w_1-w_2|∣w1−w2∣。那如果n=3n=3n=3呢?
- 如果www数组是单调的,那么结果就是∣w1−w2∣+∣w2−w3∣|w_1-w_2|+|w_2-w_3|∣

这篇博客介绍了如何使用差分和贪心策略解决一个关于港口货物重量平衡的问题。通过分析当货物堆数量为2和3的情况,得出利用差分数组求解最小操作次数的方法。博客还提醒注意在处理差分数组时的细节,并提供了一道相关的USACO竞赛题目以加深理解。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



