原创 最大三角形

#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