中石油训练赛 - Bad Treap(数学)
生活随笔
收集整理的這篇文章主要介紹了
中石油训练赛 - Bad Treap(数学)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出笛卡爾樹的定義,現在要求給出 n 個點對 ( x , sin( x )?),使得笛卡爾樹的高度盡可能大
題目分析:如果想讓笛卡爾樹的高度盡可能大,令其退化為一條鏈即可,考慮如何令其退化為一條鏈,一個比較簡單的方法是讓 x 和 sin( x ) 都單調
考慮 sin( x ) :在??上單調遞增
如果拋開 x 是整數的限制,只需要將這個長度為 π 的區間等分成 n 段就是答案了
那么現在考慮如果 x 是整數該如何去做,因為 sin( x ) 是周期函數,所以設?,那么
當 n = 3 時,用圖像表示就是這樣:
其意義顯然同樣是將 π 等分成 n 段,然后連成一條鏈輸出即可
所以需要滿足?,得到??
因為?,換句話說?,綜上得到?,找到一個較小的 T ,依次輸出其等差數列即可
然后這個題目中比較優秀的一個 T = 710
代碼:
?
?
總結
以上是生活随笔為你收集整理的中石油训练赛 - Bad Treap(数学)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中石油训练赛 - High Load D
- 下一篇: 中石油训练赛 - Trading Car