原创 一些思維題記(長期更新)

A. Prime Subtraction Codeforces 1238A 題意: 給出兩個數A,BA,BA,B,詢問 ∣A−B∣|A-B|∣A−B∣是否是素數的倍數。 思路: 這題涉及一點小數論,每個數都能進行質因數分解(除了1

原创 【圖論算法】 最短路,次短路,k短路總結

在圖論裏,最短路,次短路,k短路的問題很常見。 這裏總結一下。 存圖技巧 數據小,稠密圖的一般用鄰接矩陣 稀疏圖,數據大一般用鄰接表(vector,鏈式前向星都可) 鄰接矩陣 const int maxn = 1e5+5; int

原创 P1967 貨車運輸( 最大生成樹+LCA or Kruskal重構樹)

至於爲什麼要用最大生成樹!? 理由:因爲問最大載重,如果要加大載重的話,對於選擇的路肯定權重越大越好,所以貪心地想,得用到最大生成樹。然後兩點之間的最大載重用LCA去尋找就可以了。 最大生成樹+LCA: #include <bit

原创 紅黑樹(RBTree) (Update 12.30 僅實現插入)

#include <bits/stdc++.h> using namespace std; struct Node; typedef Node* RBNode; struct Node{ RBNode parent,lso

原创 uva11354-最小生成樹+無根樹轉有根樹+LCA

題意: 有nnn座城市通過mmm條雙向道路相連,每條道路都有一個危險係數。你的任務是回答若干個詢問,每個詢問包含一個起點sss和一個終點ttt,要求找到一條從sss到ttt的路,使得途徑所有邊的最大危險係數最小。 下。 s-t這條

原创 tarjan算法題目練習(長期更新)

P2002 消息擴散 題目描述 有n個城市,中間有單向道路連接,消息會沿着道路擴散,現在給出n個城市及其之間的道路,問至少需要在幾個城市發佈消息才能讓這所有n個城市都得到消息。 tarjan縮點(因爲一個強連通分量內的點只要又一個

原创 Codeforces Regular Forestation(樹的重心+樹的同構)

題意: 給出一個樹,讓你選擇一個Node−uNode-uNode−u刪掉(根據樹的定義,我們可以知道,只要刪去的該節點的度≥2\geq2≥2,那麼就可以得到degreeudegree_udegreeu​個子樹。) 對於剩下的子樹中

原创 【模板】2-sat問題

部分內容轉自luogu神犇題解:https://www.luogu.org/problemnew/solution/P4782 2-SAT定義: 即給定一些布爾方程,每個變量只能爲truetruetrue or falsefals

原创 Gym 101502 個人題解

這次集訓對c++的cin,cout極不友好,因此推薦都是 scanf 和 printf 進行IO處理,或者就是加快cin,cout ios_base::sync_with_stdio(false); cin.tie(0);cout

原创 莫隊算法初

emmmm,上週的比賽遇到莫隊了,然而只會線段樹。 特地學習一下。 參考博文: 洛穀日報 普通莫隊(參考洛穀日報) 莫隊算法一般分爲兩類,一是莫隊維護區間答案,二是維護區間內的數據結構。 一般用於處理只有詢問不用修改的區間問題(不

原创 雜題

1285B Just Eat It! 最大子段和(dp O(n)) #include <bits/stdc++.h> using namespace std; const int maxn = 2e5 + 5; long long

原创 差分約束系統

差分約束系統 概念: 差分約束系統是特殊的n元一次不等式組,它包含NNN個變量,x1−xnx_1 - x_nx1​−xn​以及mmm個約束條件,每一個約束條件由兩個變量作差構成的,類似於xi−xj≤akx_i-x_j \leq a

原创 【算法學習】 tarjan算法以及圖論的一些應用(強連通分量/割點/橋/縮點)

學習了tarjan算法,覺得這個算法真的是挺強大的,然而蒟蒻並不會用 ,先學習着寫一篇博客作爲記錄。 學習tarjan的點覺得主要在於兩個數組的理解—— dfn,lowdfn,lowdfn,low數組 dfndfndfn數組,用於

原创 最短路問題專題(Luogu訓練場及各種總結)

P1462 通往奧格瑞瑪的道路 題目:找最短路徑中點權的最大值的最小值 最大值的最小值,最小值的最大值,一般這種題目都會想到二分答案去解決。 所以我們先把所有點權排個序(二分需滿足有序性),然後二分點權,跑一遍最短路確認該方案是否

原创 [DAG算法] 拓撲排序

有向無環圖 DAG(directed acycline graph) 相比較無向圖來說,有向圖比較特殊。 看這幅圖,所有的邊都帶上了方向,也就是說 從節點1可以到節點2,但是節點2不能通過那條邊到達節點1 一般來說,有向無環圖可