原创 USACO 3.1 分析

題目一: Agri-Net 算法:MST 方法1:kruskal 要用到並查集的方法 int getfa(int x) {return fa[x] == x ? x : fa[x] = getfa(fa[x]); } 1.把邊從小到大排

原创 第三次集訓——2011年3月5、6日

       今天上午講的是搜索,主要講的是搜索的順序,提出了“制約力”的概念,把它按照從大到小的順序搜索,例題有八數碼問題、質數方陣。在圖論方面主要講了SPFA,竟然是中國西安交大的教授提出來的,不簡單啊!       中午去了龔秋成的

原创 2011 February Bronze

Final Results                            -- case number --            1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16dan

原创 第二次集訓——2011年2月27日

      很僥倖,昨天遲迴去,隊長剛好沒在,躲過了一劫,但是要牢記,不能超假啊,後果很嚴重的。       今天感到了集訓的自由性~~上午還是做昨天的題目,有點反感,就去做09年的校賽題目,發現一道很好的題目,楊輝三角!       題

原创 USACO 2.1 分析

第一題 The Castle 算法:求連通分量的個數 題目給出的形式很好,沒有以強的形式給出,而是以1,2,4,8來對應二進制給出,還要打牆~~~   難點1:怎樣判斷有沒有牆? 位運算可以發揮作用了!   難點2:怎樣敲牆? 由於題目中

原创 A sentence for a day

2011年2月 2   OI出發    3   好多門   4 FEB11 5 CLOCK  6拍照  7 乾媽家  8 索菲克  9 紅五和麻將 10 油紙傘 11 離家       12 到校了  13 REST 14 Jiali

原创 USACO 1.4 clocks 分析

Description:就不囉嗦了,見USACO的題目地址吧 http://ace.delos.com/usacoprob2?a=GYKcgnGbqEV&S=clocks Analysis: 由於同一種方法轉4次相當於不轉,所以轉的方案數

原创 USACO 2.2 分析

 題目一:Preface Numbering 題目大意:求1——N之間的十進制數用羅馬數字表示時給個字母要用幾次(IVXLCDM) 算法:枚舉 基本思想是枚舉每一個數字分別轉換成羅馬形式統計再統計,但這種方法很多東西重複了,更簡單的方法是

原创 寄大件如何省錢?

這兩天家裏買了幾幅掛畫,但是不滿意要退貨。 由於貨物的重量不是很重,只有4.3kg,但是長寬高爲160 cm, 55 cm, 5.5 cm。從長沙-上海 發現寄送大件不同的快遞公司政策很不一樣,這裏就簡要蒐集比對了一下:   首先找了德邦

原创 USACO 1.1 broken necklace 分析

題目大意:       給出一串由b,r,w組成的珠子,其中w可以當作b或r使用,可以從某一處斷開,然後向兩邊收集,只有同色才能收集,否則停止,求最多能收集的珠子數目 規模:       珠子串長度<=350 方法1:模擬       枚

原创 第一次集訓——2010年2月26日

    這次上午主要是熟悉環境,順便講解了週四的選拔賽的題目的方法,發現好多是BRUTE FORCE,但自己沒有寫出來!     其次就是看到了老隊員,像楊騫,雖然要備戰考研,還是來了,這感情~     原來上週糾結的一道Radar的題目

原创 USACO 2.3 分析

題目一:The Longest Prefix 題目大意:給出一組可以去匹配的字符串,求在給定的字符串中最長可以匹配出的前綴有多長? 算法1:DP 效率:O(200,000*200*10) (實際遠遠不到) 對於每個位置,去枚舉每個字符串,

原创 USACO 3.2 分析

 題目一:Factorials 題目大意:求n!的最後非0位。 算法:模擬 1.2的因子的個數顯然比5多很多; 2.可以預先根據5的個數估計出末尾0的個數,然後只需保存多餘2的個數,去更新末位的值; 3.實際做的時候沒有想到上述方法,而是

原创 FZU April 排列

/********************************************** ** Description: 給出1~n(<=50000)的一個排列,統計該排列有多少個長度爲奇數的連續子序列的中位數是b。 中位數

原创 二叉堆(Heap)的學習

 定義:在一棵完全二叉樹中,滿足A[Parent[i]] <= A[i](小根堆爲例)。 性質1:Parent[i] = i/2; Left[i] = i*2; Right[i] = i*2+1; 性質2:高度爲h的堆,元素對多 個,最少