原创 餘子式總結

行列式:gauss消元求。 餘子式:去掉一行一列後,剩下的矩陣的行列式組成的矩陣。 代數餘子式:餘子式根據行列的奇偶性取相反數後的矩陣。 行列式等於 各個位置乘以代數餘子式之和。 代數餘子式的轉置叫伴隨矩陣。 伴隨矩陣等於逆矩陣乘以行列

原创 [SDOI2017]蘋果樹 題解

首先,觀察題意,可以發現在最長鏈下再接一個點,結果一定更優。 也就是說,可以免費選一條最長鏈,之後正常選。 我們枚舉選的最長鏈,然後算出剩下部分的最優解。 有4部分: 1、鏈上每個點都選一個。 2、鏈上剩下的部分。 3、鏈的左面。 4、

原创 克魯斯卡爾重構樹總結

作用:通過kruskal,我們可以求出兩點之間經過邊權的最大值最小可以是多少(即瓶頸路)。 如果是點權,則將邊權設爲兩點的最大值。 求出最小生成樹後,這個值就是樹上路徑最值。 但是,有時這樣還不夠。 我們可以這樣建樹:連接x,y時,新建

原创 模擬賽 提米樹 題解 (DP+思維)

題意: 有一棵棵提米樹,滿足這樣的性質: 每個點上長了一定數量的Temmie 薄片,薄片數量記爲這個點的權值,這些點被標記爲 1 到 n 的整數,其 中 1 號點是樹的根,沒有孩子的點是樹上的葉子。 定義\((a,b)\)是一對相鄰的葉

原创 [NOI2019]序列 題解 (模擬費用流)

題意: 有兩個長度爲n的序列,要求從每個序列中選k個,並且滿足至少有l個位置都被選,問總和最大是多少。\(1\leq l\leq k\leq n\leq 2*10^5\)。 首先,記錄當前考慮到的位置i,第一個選的數量a, 第二個選的數

原创 樹形揹包總結

目錄 概念 一、基於dfs合併:1、物品大小爲1,沒有限制:(僞)代碼: 2、有物品大小: 3、物品大小爲1,有k的限制。(僞)代碼: 複雜度證明: 二、dfs序上dp:代碼 時間複雜度分析 例題1 例題2 例題3 總結下:

原创 [HAOI2017]字符串 題解

原创 動態 DP 總結

目錄 例題1:模擬賽題代碼: 例題2 例題3:帶修改樹上最大獨立集。代碼: 注:部分參考 https://www.luogu.org/blog/gkxx-is-here/what-the-hell-is-ddp 動態DP,就

原创 Pollard-Rho 總結

將一個大數\(N\)分解質因子。 試除法,暴力枚舉\(1~\sqrt{N}\)的數。時間複雜度:\(O(\sqrt{N})\)。 通常,這個複雜度夠了,但有時,\(N\leq10^{18}\)。 這就需要Pollard-Rho了。 首先

原创 CF827D Best Edge Weight 題解

題意: 給定一個點數爲 n,邊數爲 m,權值不超過 \(10^9\) 的帶權連通圖,沒有自環與重邊。 現在要求對於每一條邊求出,這條邊的邊權最大爲多少時,它還能出現在所有可能的最小生成樹上,如果對於任意邊權都出現,則輸出 \(-1\)。

原创 模擬賽 斯特林數計數 題解(拉格朗日插值)

題目大意: 求 答案對\(10^9 + 7\)取模。 首先,我們發現這個東西出現了很多次。 設R=。 R可以矩陣乘法求。 根據斯特林數的 原式可化爲 設所求爲\(f_k(N)\)。 對於\(R=1\)的情況,自然數冪求和即可。\(O(k

原创 [ZJOI2017] 仙人掌

原创 模擬賽 怨靈退治 題解(Hall定理+線段樹)

題意: 有 n 羣怨靈排成一排,燐每秒鐘會選擇一段區間,消滅至多 k 只怨靈。 如果怨靈數量不足 k,則會消滅盡量多的怨靈。 燐作爲一隻有特點的貓,它選擇的區間是不會相互包含的。它想要知道它每秒最多能消滅多少怨靈。 要求:在之前每次都消

原创 [TJOI2015]弦論 題解(第k小子串)

題意: 對於一個給定的長度爲n的字符串,求出它的第k小子串。 有參數t,t爲0則表示不同位置的相同子串算作一個,t爲1則表示不同位置的相同子串算作多個。 題解: 首先,因爲t的原因,後綴數組較難實現,這裏不討論。 使用後綴自動機: 因爲