質問の意味:n個のリングに囲まれた、個々の、誰もが、いくつかの初期金貨を持っている金貨と一人一人が、隣の人を置くことができ手渡し、少なくともメイク全員金貨の同じ番号を渡すどのように多くのコインを尋ねますか?
分析:まず、我々は、彼らが同じパーツを取得できませんでした、そして、私たちは人々の双方向I数で表すことができることを公衆ので、金の左に送られているため、最良の場合には、相互に隣接する二つて送信金貨があるでしょう保証することはできません、負であってもよく、それは左に負のフィードバックを意味し、次いで、P当たり金貨の数(平均総金)に等しいと仮定すると、AIは、Iコイン人々の元の数の数であり、得ることが容易です。
A1-B1 + B2 = P
A2-B2 + B3 = P
......
-BN + B1 = P
そして、我々はを求める双方向の絶対値の和、それ再変換であります
B2 = P-A1 + B1
B3 = P-A2 + B2
......
BN = P-+ BN-1
次いで、すべての権利試験B2-BN-1、すなわちB1置換であります
B2 = P-A1 + B1
B3 = P-A2 +(P-A1 + B1)= P-A1 + P-A2 + B1
......
BN = P-A1 + P-A2 + ... + P-1 + B1
そして、P、A1-ある定数は、我々はそれが便利な私たちは、Cを見えるように書くので、入力を与えました
| B1 | = | B1 | B1 | | //ここでは、次のように書くこともできる= | B1-C1 |、C1 = 0
| B2 | = | B1-C2 | 、C2 = A1-P
| B3 | = | B1・C3 | 、C3 = A1-P + A2-P
......
| Bnは| = | B1-C | 、CN = A1 + A2-P-P-P + ... +または - 1
なぜそれがフォームのB1-CIで書かれましたか?
そのため| AB&| a軸およびbの数に相当する距離
| + | | B2 | + | B3 | + ... + | BN | = | B1-C1 | + | B2-C2 | + ... + | BN-CN B1 |最終的な結果は、したがって、あります
唯一B1が不明であるため、最終的な結果は、C1、C2、...、CNおよび最小距離から数直線上に実際に
これは、中学校で学んだはずです
数直線上に表され、これらのn個の点
今回は、C1-CN C Iは、大規模な排水ために小さなから配列した後、元の配列として、それを参照してください
だから、明らかに確保するために| B1-C1は、| + | B1-CN |値、最小、B1はC1-CNの間にする必要があります
確実にするために|最小値の間で、B1はC2-CN-1すべき| B1-C2 | + | B1-CN-1
......
nが偶数である場合、最終的に、/ 2の値は、CN CN / 2 + 1の間であってもよい取るB1
nが奇数である場合、次いで、B1は、(N + 1)/ 2 Cを取ることができ
便宜上、B1 = C(N + 1)2 /私たちの間であることができるせ
ここでは、ソートにも、当然のことながら、CPLUSPLUSについて可能学ぶために興味がある可能性があり、(N + 1)/ 2をすることができnth_element()O(n)のCを見つけます
最後に、B1の値は、元の式のラインをもたらすように計算されます
コード: