link.
給定一棵 \(n\) 個點的帶點權樹,刪除 \(u\) 點的代價是該點點權 \(a_u\)。\(m\) 次操作:
\(n,m\le2\times10^5\)。
不考慮修改,列出 dp:
\[f(u)=\begina_u&u\text\\\min\&\text\end
\]單獨拿出實兒子 \(s_u\):
\[g(u)=\begin+\infty&u\text\\\sum_f(v)&\text\end\\\rightarrow f(u)=\min\
\]定義矩乘的 \(+\) 為加法,\(\times\) 為取 \(\min\),有:
\[\beginf(u)\\0\end=\beging(u)&a_u\\+\infty&0\end\beginf(s_u)\\0\end
\]用 lct / 樹剖維護。若使用 lct,詢問 \(u\) 子樹時,應 \(\operatorname\)原樹上 \(u\) 的父親,再 \(\operatorname\)
\(u\),就能保證當前 \(u\) 的實鏈全部在子樹內,輸出 \(u\) 維護的矩乘答案即可。
還有一點,雖然 dp 是自下而上的,但把矩乘展開卻是由 \(u\) 向實兒子走的。注意乘法順序。
詢問的時候 \(\operatorname\) 成了 lct 上的父親調哭了 qwq。
#include #define calc( x ) ( min_ ( s[x][0][0], s[x][0][1] ) )
typedef long long ll;
const int maxn = 2e5;
const ll inf = 1e14;
int n, m, ecnt, a[maxn + 5], head[maxn + 5];
int srcfa[maxn + 5], fa[maxn + 5], ch[maxn + 5][2];
inline ll min_ ( const ll a, const ll b )
inline char fgc ()
inline int rint ()
inline void wint ( ll x )
struct edge graph[maxn * 2 + 5];
struct matrix {}
inline ll* operator ( const int key )
inline matrix operator * ( matrix& t )
}} return ret;
}} g[maxn + 5], s[maxn + 5];
inline void link ( const int s, const int t ) ;
head[s] = ecnt;
}inline bool nroot ( const int x )
inline void pushup ( const int x )
inline void rotate ( const int x )
inline void splay ( const int x )
} pushup ( x );
}inline void access ( int x )
}inline ll initdp ( const int u, const int fath )
} g[u][0][0] = sum, g[u][0][1] = a[u], g[u][1][1] = 0;
return s[u] = g[u], min_ ( sum, a[u] );
}int main ()
initdp ( 1, 0 );
m = rint ();
for ( int x, t, op; m --; ) else
} return 0;
}
Solution洛谷1525關押罪犯
題面描述 s城現有兩座監獄,一共關押著n名罪犯,編號分別為1 n。他們之間的關係自然也極不和諧。很多罪犯之間甚至積怨已久,如果客觀條件具備則隨時可能爆發衝突。我們用 怨氣值 乙個正整數值 來表示某兩名罪犯之間的仇恨程度,怨氣值越大,則這兩名罪犯之間的積怨越多。如果兩名怨氣值為c 的罪犯被關押在同一監...
洛谷P5049 洛谷P5022 題解 旅行
原題 資料加強版 加強版 參考你谷題解 終於調過了 又是一如既往的申必錯誤 noi plus石錘了 原題的資料允許我們 o n 2 暴力斷邊,但是加強版的資料達到了 n log n 級別,我們必須在斷邊這一環節尋求更好的解法。考慮我們進入環後在何處回溯 根據繼續走環走到的點分類 設當前已經從 b 走...
洛谷練習P2279 P1346
2020年,人類在火星上建立了乙個龐大的基地群,總共有n個基地。起初為了節約材料,人類只修建了n 1條道路來連線這些基地,並且每兩個基地都能夠通過道路到達,所以所有的基地形成了乙個巨大的樹狀結構。如果基地a到基地b至少要經過d條道路的話,我們稱基地a到基地b的距離為d。由於火星上非常乾燥,經常引發火...