Prob_Solve 板


LINE

給定彩帶的長度 N 和每一格的顏色(0=白,1=紅),K次的著色(保證會在白色格子塗紅), 輸出的兩個數字分別為每次著色後最長和最短的紅色區間長度總和。 這題會用到 DSU 連通的概念,維護每次著色後最長的紅色區間長度問題不大。 但問題點在於維護最短區間長度。 因為著色的關係,導致最多2個區間合併,代表 RootID 的長度會被改變。 又因為格子個數最多會有 1e5 個,暴力法理論上應該不可行。 我只想到 Mapping HEAP 這個資料結構(不確定有沒有這種東西...)。 基礎的 HEAP 資料結構加上一個映射陣列( mapp[RootID]=這個 RootID在HEAP的位置 ) 這個 HEAP 只維護 每個 Group 的代表ID 並且依照長度維護(越小越上層)。 保證某個 RootID 長度被改變時是 ㏒N (HeapDown), 或是因為區間合併導致需要刪除某個存在 HEAP 內的 RootID 時是 ㏒N (HeapUp+Down)。 不過考慮到這題屬 APCS,應該存在某種合理的資料結構應付上述需求? 至少不是要當場寫這種 Mapping HEAP吧... 最後附上程式碼:https://www.codepile.net/pile/NG2lD4rl ※ 編輯: fatcat8127 (61.222.86.91 臺灣), 11/08/2020 01:57:38 ※ 編輯: fatcat8127 (101.12.22.166 臺灣), 11/08/2020 03:36:07
1F:推 ckc1ark: 不一定要改heap現有的 放新產生的頭尾進去即可 11/08 12:30
你說的我有想過,不過不把因為合併的點刪除時會導致整個 HEAP 根據長度排序會出問題 如果是要根據合併後的 Group ID 長度為統一時,代表需要同步調整個 HEAP 當中 屬於這個 Group 的其他點確保 HEAP 的架構正確。
2F:推 ucrxzero: 跨謀 11/08 15:03
※ 編輯: fatcat8127 (61.222.86.91 臺灣), 11/08/2020 22:59:37
3F:推 ckc1ark: 我heap存的是(len, left, right) 再用輔助的array很快就 11/09 00:26
4F:→ ckc1ark: 知道目前看到這個是不是過時的 11/09 00:26
5F:→ ckc1ark: 反正n變兩倍不影響heap複雜度 11/09 00:27
後來想到可以用 multiset(存在多個長度相同的Group)+struct(定義小於=根據長度排序) muiltiset.find() 可以找到指定的 struct,可以直接 erase, 但是找到的 struct 是 read-only,所以更新某個已經存在的 Group 長度時, 需要 erase older version + insert new version(after updating)。 這邊附上實作的程式:https://www.codepile.net/pile/gaWjg6vb ※ 編輯: fatcat8127 (61.222.86.91 臺灣), 11/09/2020 12:30:51
6F:推 ckc1ark: https://tinyurl.com/y6gwpfyp 我的意思是這樣 11/09 13:01
7F:→ ckc1ark: combo裡的值存每段紅色彩帶的長度(僅兩端) 非兩端不重要 11/09 13:04
8F:推 ucrxzero: 好想跟著寫但我連leetcode 都快寫不完了 11/09 15:56
9F:推 DJWS: O(nk)不行嗎? 那就O(kk)吧! 排序所有區間、插入排序法 11/11 10:40
10F:→ DJWS: O(kk)不行嗎? 那就O(klogn)吧! 來一發線段樹就搞定了 11/11 10:44
11F:→ DJWS: O(klogn)不行嗎? 那就O(klogk)吧! 二元樹紀錄所有區間 11/11 10:48







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP