原创 01分數規劃問題 - 筆記

1、01分數規劃 詳解:https://blog.csdn.net/hzoi_ztx/article/details/54898323 一般會固定 選擇的二元數組的個數(當固定的個數等於頂點數減一時,也就是最小/大比率生成樹的問

原创 二分圖的最小點覆蓋-定理證明

最小頂點覆蓋定義:假如選了一個點就相當於覆蓋了以它爲端點的所有邊。最小頂點覆蓋就是選擇最少的點來覆蓋所有的邊。 最開始做題的時候完全沒想到最小頂點覆蓋和最大匹配有關係,之後找證明過程的時候受博主Matrix67的啓發,然後想再按自

原创 SCU-4438-Censor(kmp/哈希+模擬棧)

題目鏈接:http://acm.scu.edu.cn/soj/problem.action?id=4438 給出s1、s2,要你刪除s2中出現的第一個s1,並將剩下的合併成一個新的串,再繼續找,直到找不到s1,輸出最後的串。 //

原创 HDU - 4419 Colourful Rectangle【掃描線.筆記】

題目鏈接:http://acm.hdu.edu.cn/viewcode.php?rid=32159923 題目大意:有n個矩形塊,這些矩形塊有R, G, B三種不同的顏色,最終區域的顏色由該區域上顏色的種類決定,要求輸出 R, G

原创 kmp算法及對next數組的理解

kmp算法詳解:https://blog.csdn.net/qq_41661809/article/details/81415687 這裏有算法實現的動圖->https://blog.csdn.net/qq_37969433/ar

原创 盧卡斯定理(n≤10^18,m≤10^18,p≤10^5)

Lucas定理是用於處理組合數取模的定理,當m,n較大時使用 它可以將一個大組合數取模,轉化成很多小組合數相乘取模(n<p, m<p) 模板: LL Lucas(LL n,LL m,LL p) { if(!m) retu

原创 P3379-最近公共祖先(LCA)【倍增】

LCA(Least Common Ancestors),即最近公共祖先,是指在有根樹中,找出某兩個結點u和v最近的公共祖先。 題目鏈接:P3379 【模板】最近公共祖先(LCA) 我們學完倍增法求LCA之後,要知道的是,倍增不是

原创 逆元線性打表後求大組合數(m≤10^6)

逆元求組合數中作用就是講公式中的除法取餘轉化爲乘法取餘,其實當m≤10^5時,都可以直接暴力求分子中每個因子的逆元(會用到快速冪),這裏需要先求出p的歐拉函數值。 此處n,p的值在數據範圍(10^18)內就行 除了上面的思路,我

原创 kmp求最小循環節

轉自:https://blog.csdn.net/hao_zong_yin/article/details/77455285 KMP最小循環節、循環週期: 定理: 假設S的長度爲len,則S存在最小循環節,循環節的長度L爲len

原创 power oj 2806: Clannad(last優化AC自動機+dp)

題目鏈接:https://www.oj.swust.edu.cn:50443/problem/show/2806 大意:把目標串分隔成若干個子串,使這些子串都能與某個keyword對應,求分隔的方案數。 思路:如下圖,當處理到結點

原创 HDU - 1045 - Fire Net(二分圖最大匹配 / 狀態壓縮)

題意:和棋盤遊戲(HDU - 1281)差不多,區別就是這裏的牆可以阻擋子彈。 1、最大匹配 思路:仍然是列和相同一行的點之間的匹配。因爲牆可以阻擋子彈,那麼如果一行中的點被一堵牆隔開,那麼可以“增加一行”,把他們標記爲不同行的點

原创 Codeforces Round #632 (Div. 2)A-D、F

https://codeforces.com/contest/1333 A. Little Artem 題目大意:構造一個n×mn×mn×m的矩陣:1、只有黑白兩種顏色;2、要滿足B=W+1B=W+1B=W+1(B表示黑色單元格

原创 2019ICPC南昌 C And and Pair dp(二項式定理 / dp)

給定一個非常大的非負整數n,計算滿足以下條件的整數對(i ,j)(i\,,j)(i,j)的個數: 1、0≤j≤i≤n;1、0≤j≤i≤n;1、0≤j≤i≤n; 2、i&n=i;and2、i\&n=i;and2、i&n=i;and

原创 POJ 3041 Asteroids(最小點覆蓋)

題意:在一個網格中有若干個點,每一次可以一下子清除一行或者一列,問最少幾次可以將網格中的點全部清除。 通過每個點建立橫座標與縱座標的連接(即建邊),將橫座標和縱座標看做二分圖中的點,選擇最少的點來覆蓋所有的邊。 #include<

原创 HDU - 5040 - Instrusive(bfs+優先隊列)

題意: 1、和普通bfs相同的是,給出起點、終點+障礙物,另外每次普通移動的時間相同爲1s 2、增加了攝像頭,攝像頭範圍爲兩個格子(即本身和其面前那一個格子),攝像頭每隔1s順時針轉90°,人物不能暴露在攝像頭視線內(又是被bfs