原创 簡單數論題選做

所有題目都可以在 luogu 上找到. 1. [Celeste-B]Golden Feather 題意: 給定點 \(1,2,\cdots,n\), 點 \(k\) 的點權 \(w_k=k(k+2)\), 邊權 \(d(x,y)=\gcd

原创 數論筆記4-簡單不定方程

1. 一次不定方程 我們來考察一次不定方程 \(\sum_{j=1}^k a_jx_j=c\). 首先考慮解的存在性. 我們有裴蜀定理: 原方程有解當且僅當 \((a_1,\cdots,a_k)|c\). 證明是容易的. 根據 2.3.8

原创 數論筆記5-同餘理論

溫馨提示: 這一篇的性質非常多 (不過很多性質都比較簡單), 並且剩餘系的性質非常重要. 1. 同餘 若 \(m|a-b\), 稱 \(a,b\) 模 \(m\) 同餘, \(b\) 是 \(a\) 對模 \(m\) 的剩餘, 記作 \(a

原创 數論筆記3-素因數分解式和取整函數

1. 素因數分解式的性質 在第一篇裏面我們證明了算術基本定理. 下面我們對素因數分解式進行更細緻的考察. 首先我們對分解式中相同的素數進行合併, 得到 \(a=p_1^{\alpha_1}\cdots p_s^{\alpha_{s}}, p

原创 Functions, Equations and Polynomials (Pure Math)

MO 題亂做 \(f:\mathbb{N}^*\mapsto\mathbb{N}^*, \forall n\in\mathbb{N}^*,f(f(n))<f(n+1)\). 求 \(f(n)\). 有一個很厲害的做法. 首先我們證明 \

原创 一些簡單的圖論模型和建圖技巧

1. 常見模型 先有模型, 而後有建圖技巧. 二分圖和網絡流那一套建圖不是這篇文章討論的內容. 看上去全是最短路相關的建圖( 本來想寫 2-SAT 的, 但是那部分內容已經包含在 SCC 和 BCC 那一篇文章裏了. 1. 差分約束系統

原创 亂 搞 題

是真的亂搞. 模擬退火啥的還是太保守了( 當一個條件足夠必要的時候, 它就是充分的. 隨機一次概率小了, 就多隨機幾次. 1. luoguP8819 [CSP-S 2022] 星戰 容易發現原問題就是要判斷這個圖是不是一棵內向基環樹

原创 SCC 和 BCC 題選做(+2-SAT 講解)

爲了保證文章的整體簡潔,代碼就不放了。 1. SCC 1. luoguP2341 [USACO03FALL / HAOI2006] 受歡迎的牛 G 考慮一個 SCC 內的所有點互相可達,我們完全可以先縮點。 那麼能從其他所有點到達的點都在

原创 圖的生成樹及其簡單應用

OI-wiki 圖論部分 有簡單的東西,也有一些奇怪的算法。 總結: 學好 Kruskal 就對了. 0. 一點前置習題 1. luoguP4047 [JSOI2010]部落劃分 實際上就是 Kruskal 做最小生成樹, 將圖從 \(k\

原创 最近做的一些題目 (2022.9~2022.10)

馬上要 CSP 了, 急了急了. 對 luogu 題目難度的評價: 綠>藍 1. P3147 262144 P 奇怪的 dp 題. 考慮定義狀態 \(f(i,k)\) 表示, 從位置 \(i\) 開始能合併出數 \(k\) 的區間爲 \([

原创 一個關於樹的有趣結論

從 這裏 看到的. 假設我們有一棵 \(n\) 個點的樹 (邊權都爲 \(1\)), 我們隨便選取一個點 \(r\) 作爲根. 記 \(d_u\) 爲點 \(u\) 的度數, \(\text{dis}(u,v)\) 爲 \(u\) 到 \(

原创 分 塊 套 娃

衆所周知, 如果我們用正常的分塊做單點加區間求和, 時間複雜度高達 \(O(1)-O(n^{1/2})\) (修改-詢問). 然後你發現這太慢了. 於是你考慮改一下分塊的大小. 我們更改塊的大小爲 \(n^{2/3}\), 整塊的複雜度成功

原创 無向圖的必經邊和必經點和圓方樹

雙連通分量的簡單應用。 有向圖的話就要上支配樹了,可能之後會學(? 1. 無向圖必經邊 邊雙縮點。 顯然一個邊雙內的結點間不可能有必經邊,於是我們把所有的邊雙縮成一個點,用割邊連起來,然後在形成的樹上操作就行了。 代碼懶得寫了( 2. 無向

原创 DAG上必經點和必經邊的亂搞做法

出處是 lyd 的藍書。 有向圖上的必經點、必經邊問題比較複雜,我們只討論給定起點和終點 \(s,t\) 的情況。 因爲 DAG 的優秀性質,考慮使用乘法原理。 首先我們在原圖上做 dp 預處理出 \(s\) 到其他點的走法的數量 \(sn

原创 求強連通分量和雙連通分量,但是不用 Tarjan

OI-wiki 真是個好東西。 我們在求強連通分量或雙連通分量的時候,常常會用 Tarjan 算法來進行縮點。 但是我們也有不用 Tarjan 的連通分量算法。 1. Kosaraju 算法 如果我們要求的是有向圖上的強連通分量,使用 Ko