原创 Codeforces Round #124 (Div. 2) (Div.1)

ps:D題掛了,最後只有三個。。。。 E題是賽後看着一羣大神的代碼YY的(網上找不到題解,好奇怪,腫麼都沒人寫的)   之所以這麼遲是因爲一直在糾結E題 A:如果第一個人能放,那就放在中間的位置,然後第二個人不管放哪第一個人總有對稱的放法

原创 codeforces 123 div2

前兩題做的還算快,可是最後卻沒有出題了,原因是題目都看不懂,特別是D題,真想罵幾句,這神馬意思啊 最後由於做的比較快居然還漲rating了, ——! E題,並查集的帶權合併  w[x]表示x到根的權值和在find的時候合併掉 View C

原创 ABBYY Cup 3.0 - Finals(總結)

題目鏈接 D題真的有點難寫,,,不過寫完後發現,也還行(我冒着可能萬劫不復的心態研究了下tourist的代碼),儘管如此,寫的時候還是感覺各種不順,還好1A了,不過肯定得重寫,。這種題非常鍛鍊代碼能力。 這場比賽如果參加的話能暴漲啊。虛擬

原创 zoj 3164 分組揹包 + 各種揹包

把所有的揹包結合起來的一道終極揹包題,做了的話揹包一般就沒問題了 題意:給你n個種類的物品的描述,揹包容量D 每個種類有三個屬性 K E P K表示這類物品最多可以選多少個,如果爲0表示可以選無限多個 E表示選擇這類物品每個物品的價值 P

原创 爲什麼我們同時搞acm,結果是你就可以去final

“爲什麼我們同時搞acm,結果是你就可以去final,我就。。。。” “我在有一定基礎之後,就不看解題報告了”

原创 hdu 1007 最近點對問題(Splay解法)

爲什麼要寫這個題、、經典啊,當然,別以爲我用分治做的,不過主要思想還是那神奇的六個點共存(一個h*2h的矩形中最多能放下多少個點使得兩兩距離不超過h) 其實我是在這裏看到的 http://community.topcoder.com/tc

原创 vim 常用快捷鍵!!!!

http://www.cnblogs.com/sld666666/archive/2010/04/05/1704462.html 光標移動指令  1. h 左 2. l 右 3. k 上 4. j 下 5. Ctrl+f 向

原创 Codeforces Beta Round #3 練習

A:裸的廣搜題,需要輸出路徑   B: 貪心抓住題目的特殊性,每個物品只有1 2 兩種體積先按性價比排序,貪心的優先選擇性價比高的,某次選了之後體積超了,就剪掉這樣子遍歷一遍之後還不是答案因爲可能會有1體積的空位,而可能通過去掉已選集合中

原创 Codeforces Beta Round #2 練習

A題:模擬題,仔細點就好 B題:DP 給你一個數字矩陣,要求從左上角走到右下角的一條路徑,這條路徑上的數乘起來後末尾的0的個數最少 末尾的0是由2、5產生的,於是聯想一下是不是走2最少的一條路或者5最少的一條路就ok了呢? 嗯,就是ok的

原创 與樹相關的題目 樹形DP 總結,不斷彙總中

 hdu 1561     The more, The Better   樹形DP入門   利用分組揹包的思想 #include<cstdio> #include<vector> #include<cstring> using name

原创 CF 4 練習

A B C 水題   D:n個二元組,求最長的一個序列組seq,序列的每一個元素的兩個值都分別大於前一個元素 記憶化搜索或者篩選後DP都可以 兩種方法 View Code #include<cstdio> #include<cstri

原创 codeforces 121 (比賽) codeforces 191C

  哎,CF終於變色了 A題:我寫了個二分,囧。。。 B題:模擬題,水 C題:想了半天,水王(一學長)告訴我是DP,果斷敲了 dp[i][j]表示i字符走到j字符最大的權值 View Code int dp[30][30]; int

原创 codeforces 122

A : 暴力枚舉 B:找規律,也可以用數學方法 找最小的x使得   a*x%b == 0   a,b已知(a=4*n  b=n+1) x是所走的圈數,易得只要把x只要等於  b/gcd(a,b)  就滿足了 然後答案就是a*x/b   即

原创 codeforces 127 div2

第一題我還寫了一個dfs暴力--! 實在是太水了,第三題一直錯,賽後發現忘了特判x=3時的情況,第二題最後時刻一氣呵成,無奈時間過了。。。。。 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!!!!!!!!!!!! 結果自然名落孫山。

原创 樹的直徑(最長路) 的詳細證明

主要是利用了反證法: 假設 s-t這條路徑爲樹的直徑,或者稱爲樹上的最長路 現有結論,從任意一點u出發搜到的最遠的點一定是s、t中的一點,然後在從這個最遠點開始搜,就可以搜到另一個最長路的端點,即用兩遍廣搜就可以找出樹的最長路 證明: 1