CF989D
題意(渣翻):
在一個一維的數軸上有一堆云(長度d ,1≤d≤1e8)云有一個初始速度v,?∈{?1,1})(負號意味著想數軸負方向),有一個月亮在數軸0點。
你可以欽定一個速度w0(-?max≤w0≤?max)加在所有云上。
求云的對數,使得滿足每對云在過了一定時間后可以互相重疊(部分重疊即可),且重疊部分覆蓋月亮。
原題鏈接
看復雜度是滋瓷nlogn的,看上去是二分。
讓我們把你欽定的速度從云上轉移到月亮上(即換參考系,云速度不變月亮速度為w0
?以距離為橫坐標,時間為縱坐標畫一個二維的坐標系。
賀圖一張form here
?
?
其中黃色區域(斜線斜率為??max/-?max)代表那個時候月亮所能到達的位置
所以如此把達成目標的條件轉化為相交的部分存在黃色
然后發現交點坐標關于初始位置單調(wmax>1)(tips:這里有個貪心即貪最上面的交點)
然后sort一遍就可以二分了(建議老實打二分,掃一遍因為題目范圍限制也可以用,但不太嚴謹)
代碼:null
?
轉載于:https://www.cnblogs.com/stepsys/p/10205508.html
總結
- 上一篇: 【原】Coursera—Andrew N
- 下一篇: 稻花香跟稻花香2号有什么区别?