题意:
n个人围成一圈,每个人都有一些硬币,,每个人只能给左右相邻的人硬币,问最少交换几个硬币,使每个人硬币一样多;
//没用随机选择算法也可以过
//本题其实就是求各个点到中位数的和
/*
Accepted 16 sec ago 随机选择算法,时间复杂度n
Accepted 1 min ago 排序,时间复杂度n*logn
*/
#include<cmath>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1000000+10;
long long a[maxn],c[ma

该问题探讨了在一群人围成一圈的情况下,如何通过最少的硬币交换使得每个人手中的硬币数量相同。参与者只能与其相邻的人交换硬币。寻找解决这一问题的高效算法是关键。
订阅专栏 解锁全文
3335

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



