持續更新 一些結論與技巧

2022-03-13 04:42:56 字數 1007 閱讀 2262

\(n\)個節點無向完全圖的不同生成樹個數有\(n^\)個

證明:無標號的樹個數:

點數為\(n\),另一邊點數為\(m\),共有\(n * m\)條邊的帶標號完全二分圖生成樹個數為\([n^(m-1)]*[m^(n-1)]\)

證明:將乙個長度為\(n\)的序列a變成嚴格單調遞增序列至少需要改的元素個數

構造陣列\(b[i]=a[i]-i\),求b的最長不下降子串行長度\(len\),\(n-len\)即答案

\(\sum n/i\) 為nlogn 級別

求和平方的期望等非齊次遞推把式子拆開搞

luogu刷題計畫

神奇的\(k\)階字首和,遇到類似\(\sum c^_k\)的東西就想一想它

性質&題目:

樹上以\(x\)為根的子樹中所有點的\(dfs\)序範圍為\(dfn[x]<=dfn[s]<=ed[x]\)

對於查詢覆蓋某些特定路徑的路徑條數題目,分類討論得到路徑端點\(dfs\)序取值範圍,可能構成乙個矩形轉化成掃瞄線處理

對於一些具有傳遞/交換關係條件的元素,考慮圖論聯通塊等

正權圖最短路圖是個dag,可以拓撲+dp

jzoj香港記者

遇到樹上多次到根的操作或相關性質操作,將dfn序排序的話就不會做重

oliveoj 爬山

對於一些字串間能否通過調換字母轉化的題目(即字串不確定),我們對於每個字母求出乙個串的01雜湊值,然後乘以對應字母權值再累加可以得到乙個我們想要的雜湊值

換根與二次掃瞄可能需要兄弟合併的資訊,確立乙個兒子便利順序,弄個字首和字尾和就好了

分塊時塊可以套個其它資料結構,例如\(vector,deque,bitset\)

(套deque)

貌似ynoi有道套bitset的

有趣的套路

區間輪轉 l + id = l + id+1 \mod (r+1): 分塊+deque :

修改某數後的lis : 離線+rmq問題(字首區間最大值+有約束條件的最大值)+lis性質 :

dp的一些技巧(持續更新)

刷題的時候學到的一些 1.有時候,可以在開頭多加一列 一行 可以方便計算 2.如果二維dp只用到前面一行,可以只保持兩行以節省記憶體,使用swap 甚至可以優化到一行 如果一維dp只用到前乙個,可以只保持兩個變數 3.如果兩個物件採用相同的最優策略來做一件事的話,dp的狀態往往是 先做的那個物件的什...

linux的一些使用技巧(持續更新)

這個是上交的課件,我是一路學過來的,上面有linux的簡單使用 關亍執行檔案路徑癿變數 path 檔案不目弽癿檢規 ls list list files dirs e.g.ls l 複製 刪除不移勱 cp,rm,mv 直接檢規檔案內容 cat,tac,nl 可翻頁檢規 more,less 修改檔案時...

一些函式(持續更新)

itertools模組的zip longest對於巢狀list的使用 文章中在變換句子矩陣的時候使用了itertools模組的zip longest函式。使用方法如下 batch list itertools.zip longest batch,fillvalue pad fillvalue就是要填...