原创 ACM 350. 小喫店(揹包變形)
350. 小喫店 ★☆ 輸入文件:food.in 輸出文件:food.out 簡單對比 時間限制:1 s 內存限制:256 MB 小喫店 【背景】 小白終於決定了去小喫店的方案。來到小喫店的小白被琳琅滿目
原创 ACM Treap(模板)
Treap實現模板 #include <iostream> #include <cstdlib> using namespace std; #define MAX_N 10000 struct Node { int l,r; i
原创 ACM 326. 醫院設置(Flyod)
326. 醫院設置 ★☆ 輸入文件:hospital.in 輸出文件:hospital.out 簡單對比 時間限制:1 s 內存限制:128 MB 【問題描述】 設有一棵二叉樹,如圖 5-1 : 其中,圈中的數字表
原创 ACM 251. [POI2001] 區間(掃描)
251. [POI2001] 區間 ★☆ 輸入文件:prz.in 輸出文件:prz.out 簡單對比 時間限制:1 s 內存限制:128 MB 有一些閉區間[ai,bi](i=1、2、…、n),找出區間數最少的表示方案
原创 ACM 左偏樹(模板)
#include <iostream> using namespace std; struct Node { int Dat; int dist; Node *pLeft,*pRight; }; void S
原创 ACM 單調隊列(經典應用求k長的數列的最小值)
代碼來自《挑戰程序設計競賽》 #include <iostream> using namespace std; #define MAX_N 1000 int n,k; int num[MAX_N]; int deq[MAX_N];
原创 ACM 672. 三值的排序(組合數學)
672. 三值的排序 ★☆ 輸入文件:sort3.in 輸出文件:sort3.out 簡單對比 時間限制:1 s 內存限制:128 MB 描述 [USACO 2.1.3] 排序是一種很頻繁的計算任務。現在考慮最多
原创 ACM 264. 數列操作(線段樹)
264. 數列操作 ★☆ 輸入文件:shulie.in 輸出文件:shulie.out 簡單對比 時間限制:1 s 內存限制:160 MB 【問題描述】 假設有一列數 {Ai }(1 ≤ i ≤ n) ,支持如下兩種
原创 ACM Sparse Table(模板+區間相關)
#include <iostream> using namespace std; int a[1<<17]; int dat[1000][1000]; int n; void RMQInit() { for(int i=0;i<n
原创 ACM 350. 小吃店(揹包變形)
350. 小吃店 ★☆ 輸入文件:food.in 輸出文件:food.out 簡單對比 時間限制:1 s 內存限制:256 MB 小吃店 【背景】 小白終於決定了去小吃店的方案。來到小吃店的小白被琳琅滿目
原创 ACM 高斯消元(模板)
</pre><pre name="code" class="cpp">#include <iostream> #include <algorithm> #include <vector> #include <iomanip> using
原创 ACM 線段樹模板(模板)
#include <iostream> using namespace std; struct Node { int Sum; int Delay; Node *pLeft,*pRight; }; void
原创 ACM 272. [NOI1998] 免費餡餅(dp)
272. [NOI1998] 免費餡餅 ★☆ 輸入文件:freepizza.in 輸出文件:freepizza.out 簡單對比 時間限制:1 s 內存限制:128 MB SERKOI最新推出了一種叫做“免費餡餅”的遊
原创 ACM 最長上升子序列的nlogn解法
首先初始時dp中元素的值全爲INF(一個預先定義的不可能取到的最大值) 對於num[0]按照代碼自然被放在dp[0]的位置 然後num[1]如果<=num[0],它仍會被放在dp[0] 當前最長子序列長度還是1 如果num[1]>num[
原创 ACM 285. [NOI1999] 最優連通子集(DFS)
285. [NOI1999] 最優連通子集 ★☆ 輸入文件:subset.in 輸出文件:subset.out 簡單對比 時間限制:1 s 內存限制:128 MB 衆所周知,我們可以通過直角座標系把平面上的任何一個點P