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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构复习

發布時間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构复习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據結構

two permutation

平衡樹維護哈希值

合并

啟發式合并

適合只有合并沒有拆分的問題

樹鏈剖分

左偏樹

fhq_treap合并

滿足一顆子樹內的所有節點都小于另一顆子樹

排布石頭

平衡樹啟發式合并

樹上啟發式合并

樹上的子樹問題,比如樹上眾數問題
全局維護數據結構,可以不好合并,但是只需要單點插入單點刪除即可。

CCPC Final 2019 K

對樹上每個點維護子樹內所有點編號構成的連續段個數

笛卡爾樹

滿足堆性質的二叉樹,中序遍歷為原序列,每個點為其子樹的最值,常用來處理區間最值相關問題。反映了大小關系的層次結構。

O(n)建樹

維護單調棧維護右鏈,相當于對原序列維護一個單調棧中的所有元素

Special Segments Of Permutation

查詢有多少區間,滿足端點處的數之和等于區間最大值
區間最大值等于區間端點的lca

可以轉化為樹上問題,利用樹上啟發式合并解決,然后因為一共只有兩個兒子,然后需要處理出一個兒子的桶,然后dfs另一個兒子,所以我們每次啟發式合并,每次繼承重兒子的桶,然后暴力搜索輕兒子。

線段樹合并

雨天的尾巴

有一顆樹,第i次操作將樹上路徑的每一個點放一個i,最終對每個點求其中出現次數最多的數。顯然需要數據結構維護,然后是一個離線問題,并且是一個樹上問題,所以我們就可以使用線段樹合并解決這個問題了。

線段樹優化建圖

利用線段樹可以把一個區間拆分為log個節點的性質。

  • 一個點向一個區間內的所有點連邊
  • 一個區間內所有點到一個點連邊
  • 區間內所有點到另一個區間連邊,可以利用一個中間點轉化為1和2
  • 可持久化

    可以處理線性的問題或者樹形的問題

    回家

    n個點m條邊的有向圖,每條邊的權值是2^li,求s到t的最短路輸出答案對998244353取模的結果。

    只需要用可持久化線段樹維護二進制,然后加數可以快速維護,只需要修改log個線段樹節點,然后還需要維護一下哈希值,就可以快速查詢lcp就可以O(logn)比較兩個數的大小。

    可持久化并查集

    ???

    離線加強版

    假的可持久化,版本之間構成了一個版本樹,每個版本由自上而下的操作構成,如果在全局維護可支持棧序撤銷的數據結構那么對版本樹離線dfs即可。

    序列分塊

    二維數點

    強制在線,求一個矩形內的點的權值和,帶修改

    分塊

    外側對x進行排序,然后在塊內部對y進行排序。然后查詢的時候整塊可以進行二分,零散點暴力。然后修改就可以進行

    2020CCPC黑龍江省賽 I.Inkball FX

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的数据结构复习的全部內容,希望文章能夠幫你解決所遇到的問題。

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