原创 【POJ3613 Cow Relays】(廣義矩陣乘法)

題目鏈接 先離散化,假設有\(P\)個點 定義矩陣\(A_{ij}\)表示\(i\)到\(j\)只經過一條邊的最短路,\[{(A^{a+b})_{ij}=\min_{1\le k\le p} \{ (A^a)_{ik}+(A^b)_{kj}

原创 關於

博主現在在AcWing上跟隨進度寫題,所以在各大\(OJ\)上的提交記錄會很少,博客也很少更。 AcWing用戶名:xjc 歡迎私信騷擾

原创 【洛谷 P2597】 [ZJOI2012]災難(LCA)

題目鏈接 考慮建一棵樹,使一個生物滅絕時他的子樹都會滅絕,顯然這樣答案就是以每個點爲根的子樹大小-1. 爲什麼原圖不是一棵樹,因爲一個生物可能會以多個生物爲食,所以按拓撲序來建樹,把每個遍歷到的點的父親設爲它的所有食物的\(LCA\)。 因

原创 【洛谷 P2483】 【模板】k短路([SDOI2010]魔法豬學院)(A*)

題目鏈接 優先隊列bfs第一次出隊就是最短路,那麼顯然第k次出隊就是k短路 ?????????????????????????????? 書上寫的 但是直接優先隊列bfs會T,所以用A*優化就行,估價函數就是到終點的最短路。 #includ

原创 【UVA1505】 Flood-it!(IDA*)

題目鏈接 IDA*,估價函數爲當前除了左上角的連通塊以外顏色的種類數,因爲每次最多消去一個顏色。 維護位於當前連通塊的邊緣但顏色不同的點,每次從這些點拓展就行。 #include <cstdio> #include <cstring> in

原创 【CF1095F】 Make It Connected(最小生成樹)

題目鏈接 如果沒有特殊邊的話顯然答案就是權值最小的點向其他所有點連邊。 所以把特殊邊和權值最小的點向其他點連的邊丟一起跑最小生成樹就行了。 #include <cstdio> #include <algorithm> using names

原创 【CH1809】匹配統計(KMP)

題目鏈接 摘自https://www.cnblogs.com/wyboooo/p/9829517.html 用KMP先求出以a[i]爲結尾的前綴與b匹配的最長長度。 比如 f[i] = j,就表示a[1~i]的後綴最多可以和b[1~j]匹

原创 【洛谷 P1641】 [SCOI2010]生成字符串(Catalan數)

題目鏈接 可以看成在座標系中從\((0,0)\)用\(n+m\)步走到\((n+m,n-m)\)的方案數,只能向右上\((1)\)或者右下\((0)\)走,而且不能走到\(y=-1\)這條直線上。 不考慮最後那個限制條件的話就是\(n+m\

原创 【BZOJ 2351】Matrix(Hash)

題目鏈接 二維\(Hash\)類似二維前綴和,每一行看成一個\(h\)進制數,每一個以(1,1)爲左上角的矩陣看成一個由每一行的\(Hash\)值組成的\(l\)進制數。 然後自己推推柿子就行。 #include <cstdio> #inc

原创 【SP1716】GSS3 - Can you answer these queries III(動態DP)

題目鏈接 之前用線段樹寫了一遍,現在用\(ddp\)再寫一遍。 #include <cstdio> #define lc (now << 1) #define rc (now << 1 | 1) inline int max(int a,

原创 【洛谷 P2633】 Count on a tree(主席樹,樹上差分)

題目鏈接 思維難度0 實現難度7 建出主席樹後用兩點的狀態減去lca和lca父親的狀態,然後在新樹上跑第\(k\)小 #include <cstdio> #include <cstring> #include <algorithm> usi

原创 【洛谷 P4137】 Rmq Problem / mex(主席樹)

題目鏈接 容易發現,可能答案只有\(0\)、每個數,每個數\(+1\) 於是把這\(2n+1\)個數建立一個權值線段樹,可持久化一下,每個節點記錄這個子樹中最後加入數加入的時間的最小值\(latest\)(好好理解一下)。 對於查詢\((l

原创 【洛谷 P3346】 [ZJOI2015]諸神眷顧的幻想鄉(後綴自動機)

題目鏈接 廣義sam+不同子串個數。。 找到所有入度爲\(0\)的點開始\(dfs\),建出廣義sam。 然後就是不同子串個數了 #include <cstdio> #include <cstring> #include <algorith

原创 記一次破解

很久很久以前 (小學時)那時候我喜歡用這種APP做點任務賺點小錢。就是那種下載一個APP給幾毛錢那種。 然後不知道怎麼都下載了一個叫《紅包鎖屏》的APP。 這類APP爲了推廣,肯定會實行邀請好友獎勵政策的。 這個APP也不例外,邀請一個AP

原创 【洛谷 P5341】 [TJOI2019]甲苯先生和大中鋒的字符串(後綴自動機)

題目鏈接 建出\(sam\),求出parent tree上每個點的\(endpos\)集合大小。 如果等於\(k\),說明到達這個點的都可以。給\((len[fa(i)],len[i]]\)的\(cnt\)都加\(1\),差分即可。 #in