原创 洛谷—P1351權值聯合(LCA、圖論)

解題思路: 題中隱含了一個重要的信息,這是一個無環圖,所以與同一個節點相連的兩個節點都滿足條件 另外有一個點需要減複雜度 #include<bits/stdc++.h> using namespace std; struct

原创 (模板)有理數取餘

思路: 求c=(a/b) mod p 相當於求a*b^-1modp,先求出b相對於p的逆元,就可以求出結果。 #include<bits/stdc++.h> using namespace std; #define ll lon

原创 (模板)線段樹

#include<bits/stdc++.h> using namespace std; const int maxn=1e5+5; int dat[maxn<<2],cov[maxn<<2]; int a[maxn]; void

原创 悠悠水波(String用法)

#include<bits/stdc++.h> #define ll long long using namespace std; string a,b; int main() { cin>>a; int len

原创 洛谷—P4145 上帝造題的七分鐘2(線段樹)

#include<bits/stdc++.h> using namespace std; const int maxn=100010; #define ll long long long long sum[maxn<<2],ar

原创 (模板)最短路徑

SPFA: 適用於存在負邊權的情況 思想是遍歷每個點,鬆弛它的出邊 時間複雜度O(nm) #include<bits/stdc++.h> using namespace std; const int maxn=1e6,inf=IN

原创 TCP中的擁塞控制詳解

添加鏈接描述

原创 月月查華華手機(字符串操作)

解題思路: 維護一個數值Next[i][j],表示第i個位置之後第一次出現j的位置,首先從前往後遍歷字符串,初始化Next,Next[i-1][arr[i]-‘a’]=i,然後從後往前處理Next數組,相當於每次向前傳遞位置i後

原创 洛谷—P5020 貨幣系統(揹包問題)

這道題目一開始沒想到是個揹包問題,後來想到了但是沒有優化TL了,原因還是沒有深刻理解填表法的過程。 80分代碼: #include<bits/stdc++.h> using namespace std; int t,n,arr[

原创 最短路變短了(最短路徑)

解題思路: #include<bits/stdc++.h> using namespace std; #define ll long long const int maxn=1e6,inf=INT_MAX; int head[

原创 裝貨物(搜索)

解題思路: 這道題目標準答案應該是動態規劃,但是考慮到這裏的n非常小,可以通過DFS來解決,增加一種思路,應該是搜索每個貨物應該放的箱子的編號。 #include<bits/stdc++.h> using namespace s

原创 洛谷—P2253 好一個一中腰鼓(線段樹區間維護)

解題思路: 建立線段樹,維護線段樹每個區間的從左開始最大序列、從右開始最大序列、最大序列 #include<bits/stdc++.h> using namespace std; const int maxn=20010; in

原创 樹上刪邊

#include <bits/stdc++.h> using namespace std; #define ll long long const int maxn=1e5+10; ll head[maxn],n,m,s,cnt

原创 TCP連接管理(三次握手/四次握手)基本知識

TCP連接管理 TCP狀態轉換圖中,共有11種狀態: CLOSED:關閉狀態,沒有連接活動或正在進行 LISTEN:監聽狀態,服務器正在等待連接進入 SYN_RCVD:收到一個連接請求,尚未確認 SYN_SENT:已經發出連接請

原创 C++ STL map的用法

添加鏈接描述