日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

A Story of One Country (Hard)(中途相遇法/启发式分裂)

發布時間:2023/12/4 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 A Story of One Country (Hard)(中途相遇法/启发式分裂) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

A Story of One Country (Hard)

https://www.luogu.com.cn/problem/solution/CF1181E2

首先考慮暴力的做法,就是每次排序然后尋找分割點,對分割點左右兩邊分治處理,但是這樣的復雜度是 最壞情況下O(n2logn)O(n^2logn)O(n2logn)

然后我們考慮優化這個算法,首先我們不能每次排序,可以用一個set維護,然后每次只需要分裂set即可,利用啟發式分裂最壞情況下就是從中間分裂,這樣就會有O(nlogn)次插入刪除。

但是另外一個問題就是如何尋找關鍵點,我們可以使用一個中途相遇法來處理,我們不能將整個set都掃一遍,但是我們可以從兩邊一起移動,這樣最壞情況下還是從中間分開,那么只需要O(n)次掃描。

所以這道題我們需要維護4個set,分別對應矩形的上下左右,然后每次同時移動這4個指針,然后遇到分割點就進行分治。

細節:

  • set可以自定義比較函數,但是要寫成一個結構體的形式
  • set中不能有重復元素,所以需要以id為第二關鍵字,就不會重復了
  • set構造可以通過直接給出首指針和尾指針
  • set清空erase也可以通過首指針和尾指針
  • 具體尋找分割點,需要按l排序然后維護r的最大值這樣的方法
  • 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的A Story of One Country (Hard)(中途相遇法/启发式分裂)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。