BZOJ 3293/1465/1045([Cqoi2011]分金币/糖果传递/[HAOI2008] 糖果传递-列方程)
来源:互联网 发布:centos 查看软件版本 编辑:程序博客网 时间:2024/04/30 11:13
圆桌上坐着n个人,每人有一定数量的金币,金币总数能被n整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。你的任务是求出被转手的金币数量的最小值。
经典问题
设第一个人给第二个人x个金币,
具体参考:http://www.cnblogs.com/CtrlCV/p/5626194.html
#include<bits/stdc++.h>using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i,k,n) for(int i=k;i<=n;i++)#define Rep(i,n) for(int i=0;i<n;i++)#define ForD(i,n) for(int i=n;i;i--)#define ForkD(i,k,n) for(int i=n;i>=k;i--)#define RepD(i,n) for(int i=n;i>=0;i--)#define Forp(x) for(int p=Pre[x];p;p=Next[p])#define Forpiter(x) for(int &p=iter[x];p;p=Next[p]) #define Lson (o<<1)#define Rson ((o<<1)+1)#define MEM(a) memset(a,0,sizeof(a));#define MEMI(a) memset(a,0x3f,sizeof(a));#define MEMi(a) memset(a,128,sizeof(a));#define MEMx(a,b) memset(a,b,sizeof(a));#define INF (0x3f3f3f3f)#define F (1000000007)#define pb push_back#define mp make_pair #define fi first#define se second#define vi vector<int> #define pi pair<int,int>#define SI(a) ((a).size())#define Pr(kcase,ans) printf("Case #%d: %lld\n",kcase,ans);#define PRi(a,n) For(i,n-1) cout<<a[i]<<' '; cout<<a[n]<<endl;#define PRi2D(a,n,m) For(i,n) { \ For(j,m-1) cout<<a[i][j]<<' ';\ cout<<a[i][m]<<endl; \ } #pragma comment(linker, "/STACK:102400000,102400000")typedef long long ll;typedef long double ld;typedef unsigned long long ull;ll mul(ll a,ll b){return (a*b)%F;}ll add(ll a,ll b){return (a+b)%F;}ll sub(ll a,ll b){return ((a-b)%F+F)%F;}void upd(ll &a,ll b){a=(a%F+b%F)%F;}int read(){ int x=0,f=1; char ch=getchar(); while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();} while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();} return x*f;} ll a[400008],b[400008];ll Abs(ll x){return (x<0)?(-x):(x);}int main(){// freopen("bzoj1045.in","r",stdin);// freopen(".out","w",stdout); int n=read(); ll s=0; For(i,n) { scanf("%lld",&a[i]); s+=a[i]; } s/=n; b[0]=0; For(i,n) b[i]=b[i-1]+s-a[i]; sort(b+1,b+1+n); ll t=0; For(i,n) t+=Abs(b[i]-b[n/2+1]); printf("%lld\n",t); return 0;}
0 0
- BZOJ 3293/1465/1045([Cqoi2011]分金币/糖果传递/[HAOI2008] 糖果传递-列方程)
- 【BZOJ】1045 [HAOI2008] 糖果传递 && 3293 [Cqoi2011]分金币 贪心
- 1045: [HAOI2008]糖果传递/3293: [Cqoi2011]分金币
- bzoj3293/1045 [Cqoi2011]分金币/[HAOI2008] 糖果传递 贪心
- bzoj3293 [Cqoi2011]分金币&&bzoj1045 [HAOI2008]糖果传递
- BZOJ1045(HAOI2008)[糖果传递]&&BZOJ3293(Cqoi2011)[分金币]--中位数
- [HAOI2008][CQOI2011]糖果传递
- BZOJ 1045: [HAOI2008] 糖果传递
- bzoj 1045 [HAOI2008] 糖果传递
- 【bzoj 1045】[HAOI2008] 糖果传递
- BZOJ 1045 [HAOI2008] 糖果传递
- 【BZOJ】1045: [HAOI2008] 糖果传递
- BZOJ 1045 [HAOI2008] 糖果传递
- bzoj 1045: [HAOI2008]糖果传递
- BZOJ 1045 [HAOI2008] 糖果传递
- BZOJ 1045/1465: [HAOI2008] 糖果传递
- 1045: [HAOI2008] 糖果传递
- 1045: [HAOI2008] 糖果传递
- Difference between prototype and this in JavaScript
- Bayes_Game
- android抓包工具fiddler抓包使用方法
- eclipse如何点击png或者jpg格式图片就能预览
- BZOJ 4612([Wf2016]Forever Young-二分)
- BZOJ 3293/1465/1045([Cqoi2011]分金币/糖果传递/[HAOI2008] 糖果传递-列方程)
- [问题解答]CCF:201509-3:模板生成系统
- POJ 1258
- POJ 1751
- POJ 2349
- task schedule
- 整数除法对照表(变量/2的幂)
- POJ 3026
- 徐海蛟:深度学习与计算机视觉理论与实验2