原创 簡單樹上問題

目錄P1099P5659P5666 P1099 直接把直徑揪出來從一邊到一邊掃過去就行了。 【記錄】 P5659 按照字典序貪心,對每個點維護相鄰的邊的刪除順序, 實際上細節並不多。 【記錄】 P5666 考慮計算每個點作爲重心的次數。

原创 最短路筆記

目錄Johnson 全源最短路P2446P5304 Johnson 全源最短路 通過神奇的方法使得 Dijkstra 可以在負權圖上跑。 【記錄】 P2446 利用優先隊列的性質 【記錄】 P5304 二進制拆分+最短路 【記錄】

原创 概率期望複習

我真是怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰怠惰!!!!!!!!!! 目錄資料閱讀P1654P5104P1850P7385 資料閱讀 【選了這份】 首先有一些直覺上比較容易

原创 組合數學亂寫

臨時抱佛腳 還是一樣,模板都有標記 目錄P3197P2822P2290【prufer序列】P3807【lucas 定理】P7044P2480P4769【折線法】P4931P2532【卡特蘭數】P5395【第二類斯特林數 · 行】P6620【

原创 簡單啓發式合併

概述:有 N 個集合, 每個集合大小爲 1, 只有合併兩個集合的操作, 若每次合併兩個集合把小集合的元素拿出來插入到大集合裏, 那麼對於小集合裏的元素, 所在集合的大小翻倍了。 所以所有元素被插入的次數是 \(O(\log N)\) 的。

原创 簡單線性基

目錄Luogu 模板Ynoi2013 無力迴天 NOI2017WC2011 最大 XOR 和路徑BJWC2011 元素SCOI2016 幸運數字 Luogu 模板 基本的上三角矩陣的構造和基本的貪心。 【記錄】 Ynoi2013 無力迴天

原创 簡單數論複習

模板有標記。 目錄P5514CF1322BP5535P1072P2152P2158P2398P2568P4139【擴展歐拉定理】P4549P2613P3811【模數爲質數時預處理逆元】P5431【預處理一堆逆元】P3951【小凱的疑惑/同餘

原创 線段樹分裂

目錄線段樹合併線段樹分裂HEOI2016/TJOI2016 排序PKUWC2018 Minimax 線段樹合併 【線段樹合併板子】 線段樹分裂 將以 x 爲根的線段樹分裂成 x,y 爲根的兩顆線段樹, 前 k 小在 x, 之後的在 y。

原创 動態樹(施工中, 暫時只有模板)

lct 維護有根樹的實鏈剖分, 就像重鏈剖分一樣, 每個點都有一個實兒子和一堆虛兒子。 lct 的每個實鏈都用一顆獨立的 splay 來維護, 節點都是原鏈中的節點編號, 滿足二叉查找樹性質的 key 值是節點在原樹中的深度。另外,對於原樹

原创 CF1430G Yet Another DAG Problem

CF1430G 最小割: 對於 \(w_i\times(a_u-a_v)\), 拆成 \(w_ia_u\) 和 \(-w_ia_v\), 這樣就把權重拆到了點上。 首先顯然地, 每個點的權值都在 [0,n-1] 之間, 於是可以跑最小割。

原创 早讀用

連通分量算法 最小斯坦納樹 靜態凸包的Graham算法 一般圖獨立集計數 後綴自動機 原根 特徵根推通項 單位根反演 杜教篩 整理下網絡瘤的代碼,我也沒做多少題。 最大流 最小費用最大流 無源匯上下界可行流 有源匯上下界最大流 有源匯上

原创 Fibonacci數列通項公式

通常方法 F[0]=0, F[1]=1, F[n]=F[n-1]+F[n-2] (n>1) 改寫爲簡單的形式:F[n] = F[n-1] + F[n-2] + [n=1] 採用機械方法得到封閉形式: \[\begin{align} \sum

原创 極簡單數據結構亂寫

luogu P3979 遙遠的國度 鏈覆蓋,詢問子樹最小值, 換根。 lct 即可。 可以使用樹剖, 詢問的時候分類討論。 id 和 root 相等, 直接詢問即可。 root ≠ lca(id, root) ≠ id, 直接詢問即可 i

原创 [集訓隊作業2013]城市規劃

有標號簡單無向連通圖計數。 sol1 設 f(n) 表示 n 個點的簡單無向連通圖的個數, g(n) 表示 n 個點的簡單無向圖的個數。 考慮求出 g(n), 枚舉 1 所在連通塊的大小, 有: \[\begin{align} g(n) &

原创 多項式開方

\[\begin{align} A(x) &\equiv B'(x)^2 &\mod x^{n/2}\\ A(x) &\equiv B(x)^2 &\mod x^{n}\\ A(x) &\equiv B(x)^2 &\mod x^{n/2}