原创 【JSOI2016】【樹hash】【樹形dp換根】獨特的樹葉

【描述】 JYY 有兩棵樹 A 和 B :樹 A 有 N 個點,編號爲 1 到 N ;樹 B 有 N+1 個點,編號爲 1 到 N+1 。 JYY 知道樹 B 恰好是由樹 A 加上一個葉節點,然後將節點的編號打亂後得到的。他想知道

原创 數據結構總結

一.線段樹 線段樹其實只是一種工具。我們不應該把它當做一道題的入手點,而只是當我們分析題目發現需要它時,纔會去使用它。 基礎操作: 1.區間加法,區間求和。 線段樹lazytag入門操作 2.01覆蓋翻轉/01排序。 線段樹維護區

原创 【SAM】【LCT】【bzoj2555】substring

【題目描述】 給定一個字符串 A,要求在線支持以下兩種操作 opt=A 在字符串A後面添加一個字符串 opt=Q 給定一個字符串 B ,求 B 在 A 中的出現次數。 【思路】 我們可以把B放到A的sam上走,答案即形成的路徑的終

原创 圓錐曲線總結

background:博主菜到退役,灰溜溜 回去準備高考,於是有了這篇小結。 1.切點弦(極線)解析式 1.定義 過定點(x0,y0)(x_0,y_0)(x0​,y0​),作圓錐曲線的兩條切線,連接切點構成的弦叫切點弦。(也叫(x

原创 【GXOI / GZOI2019】【樹鏈剖分】【線段樹】舊詞

【題目描述】 浮生有夢三千場 窮盡千里詩酒荒 徒把理想傾倒 不如早還鄉 溫一壺風塵的酒 獨飲往事迢迢 舉杯輕思量 淚如潮青絲留他方 ——烏糟獸/愚青《舊詞》 你已經解決了五個問題,不妨在這大樹之下,吟唱舊詞一首抒懷。最後的問題就是

原创 【雅禮集訓 2018 Day10】【棧】【揹包dp】【均攤分析】貪玩藍月

【描述】 現在我們有若干種事件和詢問,如下所示: IF w v:在前端加入一件特徵值爲 w 戰鬥力爲 v 的裝備 IG w v:在後端加入一件特徵值爲 w 戰鬥力爲 v 的裝備 DF:刪除最前端的裝備 DG:刪除最後端的裝備 QU

原创 【雅禮集訓 2017 Day7】【SAM】【LCT】【SGT】事情的相似度

【描述】 人的一生不僅要靠自我奮鬥,還要考慮到歷史的行程。 歷史的行程可以抽象成一個 01 串,作爲一個年紀比較大的人,你希望從歷史的行程中獲得一些姿勢。 你發現在歷史的不同時刻,不斷的有相同的事情發生。比如,有兩個人同時在世紀之

原创 【替罪羊樹及其應用】替罪羊樹總結

update:退役後對這篇文章進行了一些更新,主要增加了一個後綴平衡樹的版塊。很遺憾的,csp的350給我的OI生涯畫上了句號。記得聯賽前大概寫了10遍平衡樹模板,遺憾沒有用上。不過代碼經過聯賽前反覆地調整,已經少了很多需要特別注

原创 【線段樹】線段樹

【描述】 請你維護一個線段樹 支持一下操作 A x l r 區間 and x O x l r區間 Or x X x l r 區間 Xor x S l r 區間求和 【輸入】 一個數T,表示數據組數。 一個數n表示初始序列長,m表示

原创 【bzoj2989】【二進制分組】【主席樹】數列

【描述】 給定一個長度爲n的正整數數列a[i]。 定義2個位置的graze值爲兩者位置差與數值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]|。 2種操作(k都是正整數): 1.Modify x k:將第x個數的

原创 【清華集訓2014】【線段樹】玄學

【描述】 巨醬有n副耳機,他把它們擺成了一列,並且由1到n依次編號。每個耳機有一個玄學值,反映了各自的一些不可名狀的獨特性能。玄學值都是0到m−1間的整數。在外界的作用下(包括但不限於換線、上放、更換電源爲核電、讓kAc叔叔給它們

原创 【括號序列】【dp】Gosling

【題目描述】 描述 多年前 Lyra 在 Evan 的壁爐裏發現了一棵樹,這棵樹非常奇特,它貼着壁爐的內壁生長,汲取火焰中的魔法元素給自己提供養分,善於記憶的 Lyra 記下了當時樹的形態。 當年年幼無知的 Lyra 還不知道 E

原创 【樹鏈剖分】【樹狀數組】換公路

【題目描述】 給定一個點集的兩顆生成樹T1,T2。對於T1中每條邊,問與T2中多少邊交換以後滿足T1和T2仍然是兩棵樹。 n<=1e6n<=1e6n<=1e6 【思路】 這道題挺不錯的。首先,對於兩條邊e1∈T1,e2∈T2e1\

原创 【倍增】【dp】找寶藏

【題意描述】 給定一個有向無環圖,和若干詢問,每次詢問從一點出發的路徑上的邊的邊權形成的字符串的字典序第k小的長度至少爲1的路徑的終點。 n,m,q<=2e5,k<=1e9n,m,q<=2e5,k<=1e9n,m,q<=2e5,k

原创 【SDOI2013】【主席樹】【啓發式合併】森林

【描述】 【思路】 首先如果沒有2操作,我們可以使用主席樹輕鬆完成,這就是count on a tree。考慮2操作,我們要合併兩棵樹。這時我們可以利用啓發式合併。每次暴力把小的一棵樹搜索一次,同時加入大的一棵樹的主席樹中,同時