HDU - 7029 Median 思维
生活随笔
收集整理的這篇文章主要介紹了
HDU - 7029 Median 思维
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
傳送門
文章目錄
- 題意:
- 思路:
題意:
給你1,2,...,n1,2,...,n1,2,...,n一共nnn個數,你需要將其分成mmm組,使得每組的中位數為bib_ibi?,保證bib_ibi?互不相同。
中位數取ck+12c_{\frac{k+1}{2}}c2k+1??
n,m≤1e5n,m\le1e5n,m≤1e5
思路:
考慮將中位數看作分割點,那么這個序列就被分成了m+1m+1m+1段,我們發現每兩段都可以各取一個數來抵消,所以最后剩下的一定都在同一段里。
考慮最大段中包含的個數,分兩種情況討論:
(1)(1)(1)最大段中的個數≤\le≤其他各段之和,此時可以將除了最大段的其他段相互抵消,讓后再讓其與最大段抵消,由于每次抵消只能減去偶數個,所以最終一定只剩下了000個或111個,如果剩了一個我們可以讓最后一個剩下,讓后放在前面的某個后面即可。
(2)(2)(2)最大段的個數>>>其他段之和,此時抵消后剩余的數都在這個最大段內,假設最大段之前有xxx個位置是要求的中位數,那么如果x≥x\gex≥剩余的數的時候有解。
最后排個序判斷一下即可。
總結
以上是生活随笔為你收集整理的HDU - 7029 Median 思维的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海棠茶叶的功效与作用、禁忌和食用方法
- 下一篇: HDU - 7028 Decomposi