Median断点法求区间-匹配-memset数组与vector
生活随笔
收集整理的這篇文章主要介紹了
Median断点法求区间-匹配-memset数组与vector
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Sample Input
3
4 4
2 4 3 1
4 3
1 3 4
4 3
2 3 4
Sample Output
YES
YES
NO
題意 :
- 將1 - n的n個整數分成m個集合,滿足第i個集合的中位數為bi,求是否存在解。中位數定義為c[(k + 1) / 2],相當于123中的2或者1234中的2
思路 :
- 顯然b數組的m個數放在m個集合,剩下的n - m個數要放到這m個集合中且不影響原本的中位數。比如對于樣例n = 6, m = 2,b = {3, 5}時,集合被分為[1,2], [4], [6]三段。且任意兩段中的一對數字可以被配對消掉,以及最后剩下來的數字一定是同一段內的。
- 如果長度最大的段的長度mx <= 其他段數之和sum,直接輸出YES,反之,那么這一段最后會剩下數字,此時當且僅當這一段左邊的集合(中位數小于這一段的中位數)個數 大于等于 這一段剩下的數字的個數 時(把剩下的數字放在分別放在左邊那幾個集合的右邊,利用1234中2是中位數的性質),為YES,否則為NO
總結
以上是生活随笔為你收集整理的Median断点法求区间-匹配-memset数组与vector的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Yes, Prime Minister
- 下一篇: Intervals on the Rin