原创 最大三角形
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll read() { ll ret=0; char ch=getchar()
原创 第k長邊的最小值
二分答案res,如果權值<=res,爲0,否則爲1,跑dij,如果dis>=k ,則說明res還能再大一點 #include <bits/stdc++.h> using namespace std; typedef long lo
原创 1021區間dp-51nod
#include<bits/stdc++.h> using namespace std; #define pb push_back typedef long long ll; ll dp[105][105],a[105]; ll
原创 pta basin 1001
#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #includ
原创 堆判斷
#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #includ
原创 rmq(區間最值)
RMQ是英文Range Maximum(Minimum) Query的縮寫,即區間最值。 其預處理爲O(nlogn) ,查詢爲O(1), 不支持修改。 RMQ的原理實際上是動態規劃,我們用A[1..N]表示一組數,用[Li,R
原创 區間最多約數
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e7+5,M=3200; vector<int> prime; in
原创 poj1986 (樹鏈剖分+線段樹或者LCA+RMQ)
求樹上任意兩點的距離 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <iostream> #include
原创 多維最短路。
注意點: 看代碼註釋 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <
原创 二分圖匹配基本概念
二分圖:整個圖能被劃分爲兩個點集(X,Y)且在同一點集內的所有點互不相交的圖就是二分圖。 匹配:在二分子圖的邊集M中如果M中的每條邊的兩個端點只有該條邊與這兩個端點相連,則M稱爲一個匹配。 匹配邊:我們把兩個相匹配的點之間
原创 hdu2586 lca
lca裸題 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #
原创 codeforces 830B 樹狀數組
#include <bits/stdc++.h> using namespace std; typedef long long ll; int read(){int ret=0;char ch=getchar();while(ch
原创 hiho#1181 歐拉路2
在這個例子中: L1: 1-2-6-5-1 L2: 2-3-7-2 L3: 3-4-8-3 第一步時我們將L1壓入棧S,同時我們用一個數組Path來記錄我們出棧的順序: S: [1 2 6 5 1] Path: 然後
原创 PAT(basin)
1001: http://blog.csdn.net/tree__water/article/details/61623715 1002: http://blog.csdn.net/tree__water/article/d
原创 pta basin 1002
#include <cstdio> #include <cstring> #include <string> #include <algorithm> #include <queue> #include <map> #includ