原创 USACO Score Inflation,完全揹包問題

自從dd_engine老大《揹包問題九講》橫空出世,揹包問題的精髓基本已道盡。嚴重推薦。反正我是又老老實實讀了一遍dd老大的文章的,大牛如此,榜樣在先呀。/* ID: fairyroad TASK: inflate LANG: C++ *

原创 USACO Riding The Fences 與歐拉路徑問題

簡單的看,圖的路徑算法可以分兩類: 可達性尋問題:找到一條滿足某種條件的路徑,如圖的連通性問題(簡單路徑算法),歐拉路徑,漢密頓路徑等等;含權圖的最優化問題:如點對間的最短路徑,歐幾里德網; 而一切和圖有關的算法,幾乎都是DFS和BFS

原创 USACO Stringsobits, 還是得搬出動態規劃來

這題證明俺現在真是老了,退步了,這是第一份代碼: #include <fstream> using namespace std;   ifstream fin("kimbits.in"); ofstream fout

原创 USACO Bessie Come Home,Dijkstra算法的好題

八卦一下,Bessie是俺大學最喜歡的老師之一,英語老師,巨可愛一人,哈哈~~這道題我的思路是BFS+貪心,算是比較典型的Dijkstra算法的應用,另外兩個牧場之間可能有多條路徑,所以在輸入中要做好預處理。因爲總共只有52個節點,用排列

原创 享受遞歸的瀟灑 USACO zerosum

/* ID:fairyroad TASK:zerosum LANG:C++ */ #include<fstream> #include<vector> using namespace std; ifstream fin("zerosum.

原创 USACO subset

開始的時候寫的一個超時了的代碼,用廣搜,搜索確實厲害,但是在DP面前瞬間就萎了,唉.../* ID: fairyroad TASK:subset LANG:C++ */ // 超時代碼,思路是BFS #include<fstream>

原创 USACO humble,動態規劃簡直快得吐血(對比類似treap思路)

第一感覺是用類似於treap的方法,不過treap我沒有獨立實現過,怕細節上出錯,但是思想還是可以借鑑的,於是就想到用STL的set來幫忙。看下面的圖就知道了。只要在樹中的節點就是可以擴展的節點,所以綠色嘛,黑色表示正在擴展的節點,藍色就