由於我太菜了,做了好幾道題終於感覺自己算是入門了
cf 343d(線段樹時間戳)
三個操作:
1 v:把v和v的所有兒子染色
2 v:把v和v的所有父親取消染色
3 v:查詢某個節點顏色
做法:利用染綠色的性質,如果某個節點在某個時間t1被染綠,在時間t2被取消,那麼當且僅當t1>t2時這個時候他被染色
**cf 396c(線段樹)
兩個操作:
1 v x k:把v的兒子中距離v長度i的加上x-k*i
2 v:查詢v的值
做法:我本來是想直接建線段樹的,結果發現自己太菜寫不出來。。做法:兩個線段樹,每次操作,t1中子樹加上x+k*height[v],t2中子樹加上k,然後查詢的時候直接輸出t1.query-t2.query*height[v]就行了
**cf 383c(線段樹)
每次v增加x,那麼它的所有兒子就減小x(孫子再+x,往復這樣)
兩個操作:
1 v x:v增加x
2 v:查詢v的值
做法:我的做法和題解不一樣,他是把height是奇數和偶數的分開了,我是直接做,把奇偶節點分別標號,把pushdown和pushup全都寫的很複雜。。
**cf 375d(莫隊)
一棵樹,樹上有顏色,查詢區間內次數大於等於k次的顏色有幾種
看上去好難好難啊。。結果能莫隊(本來我知道能莫隊還想線段樹求大於k的個數來著orz)
**
關於DFS幾道比較基礎的題
題目一 fatmouse and cheese 題目大意就是說有乙個老鼠在n n的網格當中每一步最多只能走k格 並且由於貓的存在每一次老鼠的移動都必須比路徑上乙個網格收集的乳酪多 問這條路徑上老鼠收集的乳酪最大值 sample input 3 11 2 5 10 11 6 12 12 7 1 1 s...
乙個dfs序的題
一棵樹,每個節點上有di個商品,每個商品費用為ci,價值為wi,然後某個人在這棵樹上買東西,要求買東西的節點是乙個聯通塊。輸入 輸入第一行乙個正整數t,表示測試資料組數。對於每組資料,第一行兩個正整數n m 第二行n個非負整數w1,w2.wn 第三行n個正整數c1,c2.cn 第四行n個正整數d1,...
喵星球上的點名(字尾自動機 dfs序 莫隊)
一道據傳言有多種解法的題 不過大多是因為資料太弱過的 先用ac自動機搞了一上午,無果 看了題解,字尾自動機 莫隊?正好是我最喜歡的演算法之一 正在學習的演算法,就這個了!然後由於廣義自動機的las tlast last 標記有個地方忘了初始化。然後在大物課上調了三節課,洛谷一頁都是我,hhh 題意 ...