uva11300 分金幣(中位數)

2022-05-01 01:42:09 字數 769 閱讀 9413

有n個人圍成一圈,每個人有一定數量的金幣,每次只能挪動乙個位置,求挪動的最少金幣使他們平分金幣

藍書p6

令x1為1號給2號的金幣數,負數代表反方向   x2為2號給3號的金幣數      x3為3號給4號的金幣數

而a1-x1+xn=m(m為平均數)a2-x2+x1=m    a3-x3+x2=m

我們要求的就是|x1|+|x2|+|x3|+...|xn|

用x1表示x2,x3,x4

ans=|x1|+|x1-g1|+|x1-g2|....

x1到n個點的距離和最短時,就是正解

而這個點==g[mid]

#include #include #include #define ll long long

using namespace std;

const int maxn=1000000+5;

ll num[maxn];

int main()

ll m=sum/n;

num[1]=0;

for(int i=2;i<=n;i++)

num[i]=m-num[i]+num[i-1];

sort(num+1,num+1+n);

int mid=n/2+1;

ll ans=0;

for(int i=1;i<=n;i++)

ans+=abs(num[mid]-num[i]);

printf("%lld\n",ans);

} return 0;

}

UVA 11300 問題轉換

首先,定義 xi 為 i 給 i 1多少個硬幣 記平均數為m 可得到n 1個方程 a1 原來i有的硬幣 x1 x2 m a2 x2 x3 m 特別說明第n個方程可由前n 1個推出,所以去掉 將式子變形 x2 x1 m a1 x3 x1 2 m a1 a2 記a1 m 為 c1 a1 a2 m 為 c...

UVA11300計算幾何 正n邊形內的最長的線

1 uva11300 2平面幾何 3正n邊形內的最長的線是哪條?4歸納推理 5舉例n 3,4,5,6 n為偶數,因為正對的兩個點在分割的圓上,所以最長 6n為奇數,做頂點到對邊的垂線,定點到相對點的連線,因為構成直角三角形,所以斜邊大於直角邊,得證對頂點連線最長 7假設最長邊長為2 x,則 8s n...

uva515 差分約束

題目的意思就是就是求問是否存在滿足條件的序列 就是指 從 開始加,往後在加兩個 就是指 這是一道 差分約束 模板題,這裡就不具體說差分約束了 給大家乙個部落格 include includeconst int inf 0x3f3f3f3f const int n 220 int u n int v ...