BJOI 2019 游記 Day 1 開場拿到 \(T1\) 發現可以轉成求平均 \(log\) 直接 \(AC\) 自動機上 \(Dp\) 一波即可 \(T2\) 發現是到數論神仙題,大概能想到要用斯特林數轉成 \(k\) 次冪求和之類的,但是通項公式那套東西推不動,打暴力 \(T3 ...
BJOI 刪數 線段樹 題面 洛谷 題解 按照值域我們把每個數的出現次數畫成一根根的柱子,然后把柱子向左推導, ,n 中未被覆蓋的區間長度就是答案。 於是問題變成了單點修改值,即修改兩根柱子的長度。全體修改就可以理解為詢問區間的平移。 那么只需要拿線段樹維護這個東西就行了。 ...
2019-04-22 15:09 4 683 推薦指數:
BJOI 2019 游記 Day 1 開場拿到 \(T1\) 發現可以轉成求平均 \(log\) 直接 \(AC\) 自動機上 \(Dp\) 一波即可 \(T2\) 發現是到數論神仙題,大概能想到要用斯特林數轉成 \(k\) 次冪求和之類的,但是通項公式那套東西推不動,打暴力 \(T3 ...
T1 給一個有空白字符的串 $S$,和若干模板串 $X_i$,初始 $Ans = 1$,每當一個模板串在 $S$ 中作為子串出現時,$Ans$ 會乘以 $X_i$ 的權值 $Val_i$,然后如果 ...
當前為第\(t\)個操作 即修改的\(2^{t-1}\)棵線段樹中 有多少棵的\(x\)節點的\(T ...
入門級數據結構算法。復習一下,分別手寫一個。 線段樹版本(過了CF上的https://codeforces.com/contest/1291/problem/D): 樹狀數組版本(怪不得潘神這么喜歡,寫起來確實短得多): ...
總原理: 將[1,n]分解成若干特定的子區間(數量不超過4*n) 用線段樹對“編號連續”的一些點,進行修改或者統計操作,修改和統計的復雜度都是O(log2(n)) 用線段樹統計的東西,必須符合區間加法,(也就是說,如果已知左右兩子樹的全部信息,比如要能夠推出父節點);否則,不可能通過分 ...
目錄 為什么要使用線段樹? 什么是線段樹? 創建一棵線段樹 線段樹的查詢操作 線段樹的更新操作 為什么要使用線段樹? 最經典的線段樹問題:區間染色 有一面牆 ,長度為n,每次選擇一段兒牆進行染色,m次操作后 ...
更新地址:傳送門 --- 權值線段樹 所謂權值線段樹,就是一種維護值而非下標的線段樹,我個人傾向於稱呼它為值域線段樹。 舉個栗子:對於一個給定的數組,普通線段樹可以維護某個子數組中數的和,而權值線段樹可以維護某個區間內數組元素出現的次數。 在實現上,由於值域范圍通常較大,權值線段樹 ...
這一篇來講講線段樹合並。 前置知識:動態開點線段樹 還是一樣先給一道例題:[JOI2012] Building2 題面是日文的,這里給出中文翻譯: 有n">n">n個城市,它們組成了一棵樹。 第i">i個城市有一座高度為Hi">Hi的建築。 n">n">i">Hi">你需要選擇一條盡量長 ...