CF 989

今天晚上閒來無事打了一場CF......div.2,第600名。太弱了。算法

T1看懂題以後發現是水題(廢話),6min AC。數組

T2仔細思考以後發現可作,可是因爲n=p的特判沒肯定到底有沒有解,WA了一次,覺得本身算法有問題,慌的一匹。spa

T3發現是個構造題,仔細思考發現能夠很暴力的構造,寫了一會,1:00AC。變量

看T4發現彷佛可作,可是比較麻煩,回頭把T2換了種方法A了。這回n == p想清楚了。方法

而後開始肝T4,個人算法細節不少,沒打完。移動

最後只A了三題,600名。di

T4:給你數軸上的1e5朵雲,每朵雲都長L,左端點爲xi,有個初速度vi,只可能爲±1,雲不包含兩端點。思考

月亮在座標0位置,你能夠製造風速絕對值不大於w的風,使得全部雲的移速加上這個風速。vi

求有多少對雲能夠經過製造風速恰當的風而同一時刻遮蓋月亮。

解①:能夠發現每朵雲有4種狀況:在原點左右,初速度正負。而後要特判雲在原點的狀況。

雲初速度相同必定不行,初速度相背也不行。只能相向而行。

由於速度能夠小到0,因此只考慮速度上限便可。一個不等式解出來是C < v,而後v <= w,故C < w

而後把這個一次不等式的兩個變量提取出來,能夠獲得一個約束條件( 其中之一是(b+L)(w-1)>a(w+1) ),用樹狀數組維護便可。

解②:

發現全部雲是相對無風的(???),因而至關於移動月亮。

而後把x-t畫出來,就會發現,雲的相交是正方形/月亮的可達範圍是兩條射線圍住的。

求在月亮的可達範圍內的正方形個數。

而後聽說能夠二分.....沒看下去了。

相關文章
相關標籤/搜索