原创 幾道構造小題

1 在 nn 的網格上,由邊界某個格子出發四連通經過所有格子一次且僅一次再回到邊界上,要求拐彎次數至少有 n(n-1)-1 次。 看起來無從下手。不知從何下手的題目一般有兩種解決辦法: 1.考慮能否 縮小範圍,遞歸處理。 2. 這

原创 兩種特殊的矩陣(楊氏矩陣及其應用)

楊氏矩陣 部分參考悽魎博客。 性質 楊氏矩陣(楊表)是這樣的二維數組,滿足 ai,j≤ai+1,j,ai,j≤ai,j+1a_{i,j}\leq a_{i+1,j},a_{i,j}\leq a_{i,j+1}ai,j​≤ai+1,

原创 幾類網絡流的建模

1 區間 kkk 覆蓋問題 有一些區間,選擇一個區間會產生一些收益。要去每個點覆蓋它的區間最多不超過 kkk 個。 一開始的想法是源點連每個區間代表的點,區間代表的點連向序列裏的每個數,每個數連向匯點。發現這樣無法限制題目要求,因

原创 一類平衡樹問題(重量平衡樹及其應用)

重量平衡樹 什麼是重量平衡樹? 在插入/刪除操作之後,爲了保持樹的平衡而重構的子樹大小爲均攤/期望 O(nlogn)O(nlogn)O(nlogn)。 比如:替罪羊樹,treap。 動態下標 平衡樹上判斷兩個點的大小是一個 log

原创 Segment Tree Beats(吉司機線段樹)

1 給出 nnn 個數,qqq 次詢問,求區間最大子段和,相同的數只算一次。(GSS2) 在線不是很好做,我們離線下來,把詢問按 rrr 升序排序,線段樹上維護每個 lll 到 rrr 的和。如果預處理出每個數上一個出現的位置 p

原创 數論(min_25篩)

類歐幾里得算法 擴展歐拉定理(對於a,p不互質的情況計算a%p):https://blog.csdn.net/hzj1054689699/article/details/80693756 二次剩餘 https://blog.

原创 二項式反演與斯特林反演

二項式反演 如果 f[m]=∑i=mn(ni)g[i]f[m]=\sum_{i=m}^n{n\choose i}g[i]f[m]=∑i=mn​(in​)g[i] 根據二項式反演: g[i]=∑k=in(−1)k−i(ki)f[k]

原创 支配樹詳解

什麼是支配樹? 對於一張有向圖,確定一個根,如果根到 x 的每條路徑都經過 y,那麼稱 y 是 x 支配點。求出原圖的一個 dfs 樹,那麼 x 的支配點一定在 x 到根的鏈上。如果每個點向自己深度最深的支配點連邊,就構成了支配樹

原创 圖論網絡流

1 給定一棵樹,每次可以選一個葉子刪掉。同時有 mmm 個限制 (u,v)(u,v)(u,v) 表示 uuu 必須在 vvv 之前刪掉。求可能最後一個被刪掉的點的集合。 如果有一個 u→vu\rightarrow vu→v 的限制

原创 1.9 czk

1 給定一個序列,支持兩種操作(允許離線): 1.插入一個數 2.給出 l,rl,rl,r ,求最大的 kkk 使得 1…k1\dots k1…k 在 [l,r][l,r][l,r] 中都出現過。 第 iii 棵主席樹的第 jjj

原创 線段樹維護單調棧

單點修改,維護元素個數。O(nlog⁡2n)O(n\log^2 n)O(nlog2n) 如果只是插入元素,那麼二分修改即可一個log。 #include<bits/stdc++.h> #define ll long long us

原创 一類分割棋盤的 DP

1 HDU5180 給定一個 n*n 的棋盤,要在上面放 k 個車和任意多個王(車走直線,王走八連通),求有多少種方案使得車不能夠吃王,車不能吃車,王不能吃王。 觀察到放置一輛車以後這一行、這一列都不能放旗子。因此 K 輛車佔領

原创 PKUWC

PKUWC2018 Minimax 給定一棵二叉樹,葉子節點有權值,權值互不相同。每個非葉節點上有個概率 pip_ipi​,表示這個節點有 pip_ipi​ 的概率是子節點權值中較大值,1−pi1-p_i1−pi​ 的概率是較小值

原创 一類平衡樹問題

重量平衡樹 什麼是重量平衡樹? 在插入/刪除操作之後,爲了保持樹的平衡而重構的子樹大小爲均攤/期望 O(nlogn)O(nlogn)O(nlogn)。 比如:替罪羊樹,treap。 動態下標 平衡樹上判斷兩個點的大小是一個 log

原创 2.14數論

類歐幾里得算法 擴展歐拉定理(對於a,p不互質的情況計算a%p):https://blog.csdn.net/hzj1054689699/article/details/80693756 二次剩餘 https://blog.