題目描述 給出一棵n個點、以1為根的有根樹,點有點權。要求支持如下兩種操作: M x y:將點x的點權改為y; Q x:求以x為根的子樹的最大連通子塊和。 其中,一棵子樹的最大連通子塊和指的是:該子樹所有子連通塊的點權和中的最大值 ...
背景:czy上課講了新知識,從未見到過,總結一下。 所謂動態dp,是在動態規划的基礎上,需要維護一些修改操作的算法。 這類題目分為如下三個步驟: 都是對於常系數齊次遞推問題 先不考慮修改,不考慮區間,直接列出整個區間的dp方程。這個是基礎,動態dp無論如何還是dp 這一步是一般是重點 .列出轉移矩陣。由於有很多修改操作,我們將數據集中在一起處理,還可以利用矩陣結合律,並且區間比較好提取, 找一段矩 ...
2018-06-02 09:33 2 758 推薦指數:
題目描述 給出一棵n個點、以1為根的有根樹,點有點權。要求支持如下兩種操作: M x y:將點x的點權改為y; Q x:求以x為根的子樹的最大連通子塊和。 其中,一棵子樹的最大連通子塊和指的是:該子樹所有子連通塊的點權和中的最大值 ...
【題目描述】 一個長為n的序列,每個元素有一個a[i],b[i],a[i]為0||1,每個點和他相鄰的兩個點分別有兩條邊,權值為cost1[i],cost2[i],對於每個區間l,r,我 ...
【動態規划】動態$DP$ (樹鏈剖分維護&&LCT維護) 一、不帶修改的樹形$DP$ 有這樣一道題:沒有上司的舞會 我們可以很快地得出樹形$DP$的轉移方程,以達到$O(N)$求解 二、帶修改的樹形DP與矩陣乘法,樹鏈剖分的聯系 但如果帶上修改 ...
淺談線段樹優化DP 本篇隨筆淺談一下線段樹優化DP。 一、關於DP優化的兩種方式 DP算法是大家耳熟能詳的最優化算法之一。 有的時候,我們設計DP的時候,需要采取措施進行DP優化來適應題目對時間空間的要求。 一般來講,DP的優化有兩種方式:第一種是針對狀態設計進行優化。比如滾動數組 ...
【BZOJ5210】最大連通子塊和 Description 給出一棵n個點、以1為根的有根樹,點有點權。要求支持如下兩種操作: M x y:將點x的點權改為y; Q x:求以x為根的子樹的最大連通子塊 ...
在一些計數問題中,線段樹用於維護值域(一段權值范圍),這樣的線段樹也稱為權值線段樹。為了降低空間復雜度,我們可以不建出整棵線段樹的結構,而是在最初只建立一個根節點,代表整個區間,當需要訪問線段樹的某棵子樹(某個子區間)時,再建立代表這個子區間的節點。采用這種方法維護的線段樹稱為動態開點的線段樹 ...
值域線段樹每一個節點代表一個值,其他沒什么區別 動態開樹就是節省了沒有用到節點,其中重要一點的是不需要節點是連續的(即id值是任意的,只要可以找到即可) 例題 Bzoj 4627 回轉壽司 題意 給n個數問區間和在L<=sum【r】-sum【l-1】<=R區間 ...
其實在tzt版線段樹的基礎上稍微加一些東西就好了。我們不預先開點,每當需要用到一個點時,我們才開。空間復雜度可以優化到 m(查詢)log n。 code(線段樹1,其實這道題用動態開點沒啥意義沒啥意義,當作練習) ...