原创 【網絡流】學習筆記:一次理解網絡流!

一、從概念入手 網絡流用於解決流量問題 網絡流:所有弧上流量的集合f={f(u,v)},稱爲該容量網絡的一個網絡流. 定義:帶權的有向圖G=(V,E),滿足以下條件,則稱爲網絡流圖(flow network): 僅有一個入度爲

原创 【網絡流】解題報告:luogu P3376 【模板】網絡最大流

題目鏈接: P3376 【模板】網絡最大流 Dinic Dinic算法是網絡流最大流的優化算法之一,每一步對原圖進行分層,然後用DFS求增廣路。時間複雜度是O(n^2*m),Dinic算法最多被分爲n個階段,每個階段包括建層次網絡

原创 【圖論技巧】點邊轉化(拆點和拆邊)

目錄一、總述二、常見的有針對性的算法- 針對點權- 針對邊權三、拆點- 過程- 實例- 網絡流四、拆邊- 過程- 實例- 倍增算法(Kruskal 重構樹)- LCT 維護最小生成樹五、總結 一、總述 在圖論中,一張圖由點和邊構成

原创 【割邊縮點】解題報告:POJ - 3694 - Network(Tarjan割邊縮點 + LCA + 並查集優化)

POJ - 3694 - Network 給定一張N個點M條邊的無向連通圖,然後執行Q次操作,每次向圖中添加一條邊,並且詢問當前無向圖中“橋”的數量。N≤105,M≤2∗105,Q≤1000N≤10^5,M≤2*10^5,Q≤1

原创 【算法】動態規劃+“揹包九講”原理超詳細講解+常見dp問題(9種)總結

目錄一.動態規劃(DP)二.揹包九講(1)完全揹包P1616 瘋狂的採藥(完全揹包)(2)01揹包滾動數組一維數組P1048 採藥(01揹包)(3)多重揹包整數拆分(二進制拆分)P1776 寶物篩選(多重揹包)(4)二維費用揹包P

原创 【2-SAT問題】解題報告:POJ 3678 Katu Puzzle(2-SAT問題的判定)

每個元素只有兩種可能的取值,所以是2-SAT的模型. 我們建立2*n個點,x∈[1…n]表示x取0,x∈[n+1…n+n]表示x取1 考慮將所給的關係轉化爲有向邊. u and v=1:u,v都必須是1.爲了讓他們都是1,我們

原创 【經驗分享】如何優雅的在 Microsoft word中插入代碼

目錄一、藉助工具二、使用步驟三、另闢蹊徑 一、藉助工具 打開這個網頁PlanetB; 就是這個:http://www.planetb.ca/syntax-highlight-word 二、使用步驟 1.將你需要插入在word中的

原创 模板 - 歐拉路、歐拉回路(一筆畫問題)

ACM-ICPC模板 歐拉回路就是給一個圖,存在一條迴路把所邊經過且每條邊只經過一次。“一筆畫問題” 對於無向圖: 存在歐拉回路的條件:每個點的度都爲偶數;    存在歐拉路的條件:有且只有兩個點的度爲一,且這兩個點分別爲起點和

原创 【歐拉回路】解題報告:luogu P6066 [USACO]Watchcow (歐拉回路詳解)【模板】

歐拉回路模板 題目鏈接:https://www.luogu.com.cn/problem/P6066 O(N+M)O(N+M)O(N+M)非遞歸版代碼 防止棧溢出 歐拉回路就是給一個圖,存在一條迴路把所邊經過且每條邊只經過一次

原创 PTA 7-3 旅遊規劃 (25分)(雙權值Dijkstra最短路)

7-3 旅遊規劃 (25分) 有了一張自駕旅遊路線圖,你會知道城市間的高速公路長度、以及該公路要收取的過路費。現在需要你寫一個程序,幫助前來諮詢的遊客找一條出發地和目的地之間的最短路徑。如果有若干條路徑都是最短的,那麼需要輸出最便

原创 【縮點】解題報告:luogu P2746 [USACO5.3]校園網Network of Schools(有向圖、強連通分量、縮點)

題目鏈接:P2746 [USACO5.3]校園網Network of Schools 用tarjan算法求出強連通分量,並且縮點,如果縮點後只有一個點,則答案爲1,0 對於第一問,如果縮點後某一點的入度爲0,則它肯定要一份軟件,

原创 數據結構(C語言版) 第 八 章 排序 知識梳理 + 習題詳解

目錄一、歸併排序二、交換排序1.快速排序2.冒泡排序三、插入排序1.直接插入排序(基於順序查找)2.折半插入排序(基於折半查找)3.希爾排序(基於逐趟縮小增量)四、選擇排序0.直接選擇1.堆排序2.二叉堆3.手寫二叉堆代碼五、排序

原创 【位運算】解題報告:luoguP4310 絕世好題(位運算優化DP)

題目鏈接:luoguP4310 絕世好題 貼一個我唯一看得懂的題解吧,以及下面我的理解 這是鏈接 我的理解 因爲答案只能是由兩個在二進制表示下至少有一位同是1的a序列裏的數&得到的,最後求子序列的個數 f[i]存的是對於a序列

原创 ACM-ICPC在線模板 - 繁凡さん(滿註釋模板!)

目錄如果有進來想找模板的大佬還是先看文末其他大佬們的模板吧,我的還正在搭建中,也不能讓您白跑一趟對吧我決定還是不要好高騖遠,所以打算先花三個月學習一下《算法競賽進階指南》這本書,並把每一節都記錄成學習筆記,本模板慢慢更新Forwo

原创 【網絡流】解題報告: luogu P2045 方格取數加強版(k取方格數)(最大費用最大流)

點邊轉化:把每個格子 (i,j) 拆成一個入點一個出點。 詳解鏈接:【圖論技巧】點邊轉化(拆點和拆邊) 從每個入點向對應的出點連兩條有向邊:一條容量爲 1 ,費用爲格子 (i,j) 中的數; 另一條容量爲 k−1 ,費用爲 0