1. 程式人生 > >uva 11300 Spreading the Wealth_數學推倒 + 思維

uva 11300 Spreading the Wealth_數學推倒 + 思維

其實這道題和負載平衡問題是同一道題, 如果 n<=500 的話是可以跑最小費用流的。 但是這道題中 n 最大可達到 106, 這就需要我們進行一些性質分析與推導。 首先, 我們設最終要達到的中位數為 C。 設 Xi 為第 i個人給右邊的數目, 這個數目可正可負 則我們不難發現: 1. A2+X1X2=C 2. A3+X2X3=C 3. A4+X3X4=C 4. … 5. Ai+Xi1Xi=C 而這道題求的其實就是

min|X1|+|X2|+|X3|+|X4|+...|Xn| 那麼,我們可將上面的等式進行變形,得: 1. X1=X1 2. X2=A2C+X1 3. X3=A2+A32C+X1 4. X4=A2+A3+A43C+X1 5. X5=A2+A3+A4+A54C+X1 此時,相信聰明的讀者們不難發現規律: Xi=k=2i(i1)C+X1