[bzoj5379]Tree_dfs序_線段樹_倍增lca
Tree bzoj-5379
題目大意:給定一棵$n$節點的樹。支持:換根、把節點$u$和$v$的$lca$的子樹加、詢問$u$的子樹和。
註釋:$1\le n,q\le 3\times 10^5$。
想法:
和bzoj3306比較像。
發現麻煩的就是第二個操作,其實就是一個大特判而已。
小結:略。
[bzoj5379]Tree_dfs序_線段樹_倍增lca
相關推薦
[bzoj5379]Tree_dfs序_線段樹_倍增lca
dfs tro bzoj3 cnblogs log times 而已 tps 線段 Tree bzoj-5379 題目大意:給定一棵$n$節點的樹。支持:換根、把節點$u$和$v$的$lca$的子樹加、詢問$u$的子樹和。 註釋:$1\le n,q\le 3\times
[bzoj3306]樹_dfs序_線段樹_倍增lca
樹 bzoj-3306 題目大意:給定一顆n個節點的樹,支援換根、修改點權、查詢子樹最小值。 註釋:$1\le n,q\le 10^5$。 想法: 如果沒有換根操作,就是$dfs$序+線段樹維護區間最小值即可。 加入有換根操作,我們發現對修改操作沒影響。 我們只需要判斷一下詢問的點和當前根的關
[bzoj3252]攻略_dfs序_線段樹_貪心
攻略 bzoj-3252 題目大意:給定一棵n個節點的有根樹,點有點權。讓你選出至多k個節點,使得他們到根的鏈的並最大。 註釋:$1\le n\le 2\cdot 10^5$,$1\le val_i\le 2^{31}-1$。 想法:這題模擬賽T2,正解可並堆,我用的$dfs$序加線段樹。 考慮暴
線段樹_區間加乘(洛谷P3373模板)
str oid 列數 格式 long long esp 編號 span 輸入格式 題目描述 如題,已知一個數列,你需要進行下面三種操作: 1.將某區間每一個數乘上x 2.將某區間每一個數加上x 3.求出某區間每一個數的和 輸入格式: 第一行包含三個整數N、M、P,分別表示該
BZOJ_1798_[AHOI2009]維護序列_線段樹
post spa 維護 algo using sca 三種 str body BZOJ_1798_[AHOI2009]維護序列_線段樹 題意:老師交給小可可一個維護數列的任務,現在小可可希望你來幫他完成。 有長為N的數列,不妨設為a1,a2,…,aN 。有如下三種操作形式:
BZOJ_1858_[Scoi2010]序列操作_線段樹
個數 brush build 接下來 inpu content con 線段 void BZOJ_1858_[Scoi2010]序列操作_線段樹 Description lxhgww最近收到了一個01序列,序列裏面包含了n個數,這些數要麽是0,要麽是1,現在對於這個
BZOJ_2124_等差子序列_線段樹+Hash
PE while 等差數列 否則 memset break include out hash BZOJ_2124_等差子序列_線段樹+Hash Description 給一個1到N的排列{Ai},詢問是否存在1<=p1<p2<p3<p4<
BZOJ_2962_序列操作_線段樹
列操作 scan min 組合 -a %d 假設 scanf 輸出 Description 有一個長度為n的序列,有三個操作1.I a b c表示將[a,b]這一段區間的元素集體增加c,2.R a b表示將[a,b]區間內所有元素變成相反數,3.Q a b c表示
BZOJ_4636_蒟蒻的數列_線段樹+動態開點
desc mes bound d+ lib scan 他還 inpu AI BZOJ_4636_蒟蒻的數列_線段樹+動態開點 Description 蒟蒻DCrusher不僅喜歡玩撲克,還喜歡研究數列 題目描述 DCrusher有一個數列,初始值均為0,他進行N
[bzoj3702]二叉樹_線段樹
中序 一道 scan cpp PE return 二叉 ace 進行 二叉樹 bzoj-3702 題目大意:現在有一棵二叉樹,所有非葉子節點都有兩個孩子。在每個葉子節點上有一個權值(有n個葉子節點,滿足這些權值為1到n的一個排列)。可以任意交換每個非葉子節點的左右孩子。要
模版_線段樹
stream return max 很多 const 我不 lse can amp 線段樹模版之——區間修改與求和 題目描述:給出數的個數n以及操作數q:對於q:1 x y z 令區間[x, y]增加z2 x y 求區間和 #include<cstdio> #
[bzoj4636]蒟蒻的數列_線段樹
fread cstring else if amp pre lin esp query int 蒟蒻的數列 bzoj-4636 題目大意:給定一個序列,初始均為0。n次操作:每次講一段區間中小於k的數都變成k。操作的最後詢問全局和。 註釋:$1\le n\le 4\cd
洛谷P3332 [ZJOI2013]K大數查詢 權值線段樹套區間線段樹_標記永久化
Code: #include <cstdio> #include <algorithm> #include <string> #include <cstring> using namespace std; #define maxn 50005*256
[bzoj2733][HNOI2012]永無鄉_權值線段樹_線段樹合併
永無鄉 bzoj-2733 HNOI-2012 題目大意:題目連結。 註釋:略。 想法: 它的查詢操作非常友善,就是一個聯通塊內的$k$小值。 故此我們可以考慮每個聯通塊建一棵權值線段樹。 這樣的話每次修改採用線段樹啟發式合併,查詢暴力走權值線段樹即可。 Code: #include
HDU_6070_Dirt Ratio_二分_線段樹優化
題目大意: 給一串長度為n的整數數列(1 <= ai <= n),可重複,計算連續子串的 X / Y 的最小值,X為子串中出現不同數字的個數,Y為數列長度。 思路: 在0~1內二分找最小值每次判斷是否存在一個子串的值小於等於mid. X / Y <= mi
poj 2528 (線段樹_離散化)
Description The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign have been placing their
NOI2018 你的名字 後綴自動機_線段樹合並_可持久化
bre int 線段樹合並 turn struct ace pen 線段樹 計數器 相當復雜的一道題,同樣也相當優美。考察的知識點很多:權值線段樹的可持久化合並,後綴自動機,後綴樹... 考慮 $68pts$ $l=1,r=|s|$的數據:這部分相對好做一些,不過思維
877E - Danil and a Part-time Job(dfs序+線段樹)
date pan ans ios mes clu fine space ani 877E - Danil and a Part-time Job 思路:dfs序+線段樹 dfs序:http://blog.csdn.net/qq_24489717/article/deta
Luogu P2982 [USACO10FEB]慢下來 Slowing down | dfs序、線段樹
urn inf end wid class int 題目 分享圖片 分享 題目鏈接 題目大意: 有一棵N個結點樹和N頭奶牛,一開始所有奶牛都在一號結點,奶牛們將按從編號1到編號N的順序依次前往自己的目的地,求每頭奶牛在去往自己目的地的途中將會經過多少已經有奶牛的結
[jzoj]5966. 【NOIP2018提高組D2T3】保衛王國(矩陣乘法+鏈剖維護線段樹 或 倍增DP)
Problem 弱化版動態詢問一棵樹的最小覆蓋集. 每次只選擇其中某兩個點必選或必不選,且詢問獨立. Data constraint n