原创 多維完全揹包 USACO 3.3.2 Shopping Offers

典型多維完全揹包 /* PROG:fence LANG:C++ */ #include <cstdio> #include <algorithm> using namespace std; const int MAXN = 501

原创 dijkstra+堆優化 USACO 3.2.6 Sweet Butter

想練一練dijkstra+堆優化,從來沒有寫過~ 要看懂以下內容 首先自學 dijkstra 算法, 和 堆哦~ 一開始考慮是想堆裏存結構體,但是經過潘神指導,發現不需要~畢竟寫結構體會蛋疼些。。 介紹一下各個數組的作用 d[i] 表

原创 USACO 3.1.5 Contact

掃一遍整個串,每進來一個字符,往前掃(i = a to b)個字符,對每一個子字符串,最高位加上1後(防止忽略前導0)轉爲數字,對應次數加一。 主要是輸出格式有點蛋疼,要仔細一點~ /* PROG:contact LANG:C++ */

原创 Tips For Codeigniter

一. 如果你想不要在頁面上顯示php錯誤,只要把index.php中的 error_reporting(E_ALL); 改成 error_reporting(0);

原创 USACO 3.2.3 Spinning Wheels

比較簡單的題,直接模擬做就行。 判斷一個角度是否在某個範圍(st, st+sp)內用 (deg - st + 360) % 360 <= sp 即可 /* PROG:spin LANG:C++ */ #include <cstdio>

原创 USACO 3.2.5 Magic Squares

看到題目,必然是寬搜無疑了 主要是對於狀態的儲存方法,一開始我很腦殘的用 9 進制數來存狀態,寫到一半發現內存會超。。 重新考慮下,因爲最多隻有 8! 種狀態,所以直接存每種狀態有沒有出現過是可行的。 TRANS 函數將每個狀態映射到一個

原创 (壓位)高精度思想教程 與 代碼實現

高精度這玩意兒真是好久沒寫了,時隔多年,從 Pascal 轉到 C++ , 代碼風格也變了 重新編了一下(經過潘神指導!),覺得比以前寫的好多了~ 想了想幹脆寫一個小教程,希望初學者能有所收穫~~ 一.高精度四則運算思想 高精度這個

原创 USACO 3.1.6 Stamps

典型的完全揹包,f[i][j] 表示使用前 i 種郵票,達到 j 面值需要的最小郵票數,最後判斷是不是大於 k 即可。 用了滾動數組,看不懂的可以百度“揹包九講”,講的非常清晰 /* PROG:stamps LANG:C++ */

原创 歐拉回路 USACO 3.3.1 Riding the Fences

典型的求歐拉回路,仔細一點就行了 注意 節點間可能有很多條邊 /* PROG:fence LANG:C++ */ #include <cstdio> #include <algorithm> using namespace std

原创 一些有用的手機軟件(好多美化軟件)

桌面流量短信等狀態統計插件 DroidStats http://www.wandoujia.com/apps/nitro.phonestats 自定義應用圖標 Desktop VisualizeR ht

原创 USACO 2.4.5 Fractions to Decimals

以前做過這題,沒什麼特別思路,手工模擬除法即可。 問題是這蛋疼的輸出格式,讓我糾結了好久。 偶然看到了一個叫sprintf的逆天的東西!居然寫到了50行以內啊! 慶祝一下~ C++語言: 2.4.5 fracdec /* P

原创 USACO 3.3.3 Camelot

好煩人的題,噁心死我了 具體思路,先用 SPFA 把每個點到每個點的 騎士走的最小步數 求出來 然後枚舉集結點 有以下幾種情況 1. 所有騎士和王 都自己走到集結點 2. 一個騎士帶王走到終點, 我是隻考慮在 王的周圍 8 個點 或者

原创 Sublime Text 2 快捷鍵等TIPS

Sublime 實用快捷鍵 (Windows & Linux Ctrl+D              選中當前光標所在單詞,或者加入下一個與已選中單詞相同的單詞併產生multiple cursor Ctrl+←            

原创 USACO 3.2.4 Feed Ratios

題目既然告訴我們答案的三個數都會小於100 那麼就別客氣了,直接暴力。 /* PROG:ratios LANG:C++ */ #include <cstdio> using namespace std; int x[4], y[4

原创 USACO 3.2.1 Factorials

先掃一遍統計因數 5 的個數 k (因數 2 的個數顯然大於 因數 5 的個數) 再掃一遍把 k 個 5 和 k 個 2 除掉, 那麼接下來每次結果都mod 10就是了 /* PROG:fact4 LANG:C++ */ #inclu