Arkady and a Nobody-men CodeForces - 860E (樹)
大意: 給定有根樹, 根節點深度為$1$.
定義$r(a,b)$為$b$子樹內深度不超過$a$的節點數$-1$
定義$z_a$為$a$的所有祖先的$r$之和. 對於所有點求出$z$的值.
Arkady and a Nobody-men CodeForces - 860E (樹)
相關推薦
Arkady and a Nobody-men CodeForces - 860E (樹)
超過 定義 -s nobody codeforce 祖先 code font pan 大意: 給定有根樹, 根節點深度為$1$. 定義$r(a,b)$為$b$子樹內深度不超過$a$的節點數$-1$ 定義$z_a$為$a$的所有祖先的$r$之和. 對於所有點求出$z$的值
[Codeforces]860E Arkady and a Nobody-men
有一個 優化 push_back char 表示 等於 algorithm tarjan depth 屯一個虛樹的板子,順便總結一下這樣的題型。 Description 給定一棵n個節點的有根樹,在輸入數據通過給出每個節點的父親來表示這棵樹。若某個節點的父
Codeforces Round #434 (Div. 1) -E Arkady and a Nobody-men
Codeforces傳送門 洛谷傳送門 題目描述 Arkady words in a large company. There are nn employees working in a system of a strict hierarchy. Namely, each e
Educational Codeforces Round 54 E - Vasya and a Tree 樹上:離線+dfs+樹狀陣列
題意: 給定一棵包含n個結點的樹,開始每個結點權值為0,現在有q個操作,每個操作包含 v, d, x,表示第v號結點,以及再往下(對於樹:他的孩子方向)遍歷d層,訪問到的結點權值都加上x; 輸出所有結點的權值 思路: 一下想到的就是區間更新,單點查詢,想寫個樹剖來著,感覺有點麻煩
Codeforces 914D - Bash and a Tough Math Puzzle 線段樹,區間GCD
題意: 兩個操作, 單點修改 詢問一段區間是否能在至多一次修改後,使得區間$GCD$等於$X$ 題解: 正確思路; 線段樹維護區間$GCD$,查詢$GCD$的時候記錄一共訪問了多少個$GCD$不被X整除的區間即可,大於一個就NO 要注意的是,如果真的數完一整個區間,肯定會超時,因
Codeforces 877E - Danil and a Part-time Job 線段樹+dfs序
給一個有根樹,1e5個節點,每個節點有權值0/.1, 1e5操作: 1.將一個點的子樹上所有點權值取反 2.查詢一個點的子樹的權值和 題解: 先深搜整顆樹,用dfs序建立每個點對應的區間, 等於把樹拍扁成一個數列,每次操作從就對點變成了對區間
Codeforces 877E - Danil and a Part-time Job 線段樹+dfs序
esp res down its hup cout namespace 數列 update 給一個有根樹,1e5個節點,每個節點有權值0/.1,1e5操作:1.將一個點的子樹上所有點權值取反2.查詢一個點的子樹的權值和 題解: 先深搜整顆樹,用dfs序建立每個點
Codeforces1076E. Vasya and a Tree(dfs+離線+樹狀陣列維護)
題目連結:傳送門 題目: E. Vasya and a Tree time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output
CF Div2 E. Vasya and a Tree(思維 + 線段樹)
題目連結: E. Vasya and a Tree 題意: 給定一個以 1 為根節點的樹,初始每個節點的權值為 0 。有 m 次操作,每次把以 vi 為祖先且離 vi 的距離小於 di 的所有節點(包括 vi 本身)的權值加上 xi 。問所有操作結束後,每個節點的權
CF877E Danil and a Part-time Job 線段樹維護dfs序
\(\color{#0066ff}{題目描述}\) 有一棵 n 個點的樹,根結點為 1 號點,每個點的權值都是 1 或 0 共有 m 次操作,操作分為兩種 get 詢問一個點 x 的子樹裡有多少個 1 pow 將一個點 x 的子樹中所有節點取反 對於每個 get 給出答案 \(\color{#0066
【cf914D】Bash and a Tough Math Puzzle 線段樹
題目大意 給出一個序列a,要求支援單點修改,以及詢問如果允許修改區間內的一個元素,區間gcd是否為x(可以理解為允許你暫時去掉區間一個元素,使區間gcd為x) 1 ≤ n ≤ 5*10^5 1 ≤ q
Codeforces Round #442 (Div. 2) 877E - Danil and a Part-time Job dfs序+線段樹
pac upd style init problem def ios const clas Codeforces Round #442 (Div. 2) 877E - Danil and a Part-time Job emmmm第一次見的東西感覺都好神奇 #inclu
Codeforces 877E Danil and a Part-time Job(dfs序 + 線段樹)
struct problem 區間求和 %d blank turn force ref upd 題目鏈接 Danil and a Part-time Job 題意 給出一系列詢問或者修改操作 pow x表示把以x為根的子樹的所有結點的狀態取反(0變1,1
Codeforces 1076E Vasya and a Tree(樹狀陣列)
題意:給你一顆以1為根節點的樹,初始所有節點的權值為0,然後有m個操作,每個操作將點x的所有距離不超過d的節點權值+1,問經過m次操作後每個節點權值是多少? 思路:如果是一個序列,就可以直接用樹狀陣列做,但這是一顆樹,所以我們可以想辦法把它轉化成序列。我們可以先求出每個節點的dfs序,以及深度和子樹的大小,
【Educational Codeforces Round 54 (Rated for Div. 2) E. Vasya and a Tree】 dfs+樹狀陣列
E. Vasya and a Tree 題意 給 你 一
codeforces 1076E Vasya and a Tree 【dfs+樹狀陣列】
題目:戳這裡 題意:給定有n個點的一棵樹,頂點1為根。m次操作,每次都把以v為根,深度dep以內的子樹中所有的頂點(包括v本身)加x。求出最後每個點的值為多少。 解題思路:考慮到每次都只對點及其子樹操作,要用dfs。設v當前要操作的點,操作的深度是dep,d[v]表示v的深度。要把深度[d[v],d[v]
1076E/Educational Codeforces Round 54-E. Vasya and a Tree<<dfs序 樹狀陣列
題意 給定一棵樹,初始每個節點權值為零,q次更改,每次修改將以v為頂點的深度為d的子樹全部加上x,最後輸出所有節點的權重。 思路 題目只要求每個點最後的值,那麼經過觀察,發現一個點最後的權值大小隻與他的父節點的更新有關,那麼我們就只需要考慮他的父節點到他這條鏈上的情況,把這條鏈拿出來成為線段,然後維護字
codeforces 1076E Vasya and a Tree 樹上主席樹
E. Vasya and a Tree 題意:給你一棵1為根節點的樹,初始每個節點權值為0,有m次操作,每次操作 v d x,表示將以v為根的子樹,深度不超過d的所有節點加上x。 思路:從深度為1的根節點開始遍歷,到了深度為dep的v節點,若是該節點有操作 d x,那麼以該節點為根的主席
Bash and a Tough Math Puzzle(CodeForces-11D)(線段樹)
文章目錄題目傳送門題目題目大意思路程式碼常規版懶人加速版 題目 傳送門 題目 Bash likes playing with arrays. He has an array a1a_1a1, a2a_2a2, … an of n integers. He
Codeforces-1076E:Vasya and a Tree(樹狀陣列)
E. Vasya and a Tree time limit per test 2 seconds memory limit per test 256 megabytes inputstandard input outputstandard output Vas