原创 POJ 2983 && POJ 1201

做了兩道差分約束的題目。但是都是用的bellman-ford來寫的。其中POJ1201開始的時候TLE 了,就是在最後一個更新的時候由min到max的更新d[ ].這樣的話會重複操作。後來將其由max到min就200+飄過。POJ2983

原创 POJ3080

字符串的題目,第一次感受到了C++裏面string的美啊!!!完全是太棒了。很是喜歡find。和substr。。。太方便了。對於找子串來講。當然這道題用C來寫就不得不用KMP相對來講要麻煩很多啊~~~ 上代碼: #include<ios

原创 博弈相關

博弈算法之alpha-beta搜索 收藏     博弈一向被認爲是最富挑戰的智力遊戲,有着難以言語的魅力。自從出現計算機後人們就開始有了與計算機下棋的想法。早在上世紀60年代就已經出現若干博弈程序,並達到較高的水平,現已出現計算機博弈程序

原创 POJ3436

這是第二道網絡流。。=。=我是有多落後。。這題完全是看的別人的思路,照着別人的代碼敲的。感覺這樣的拆點方式很是巧妙,是按機器的流入流出進行拆點。分爲兩個點。然後再進行連接。開始的時候一直WA。是因爲沒有將爲2的機器某點與源點相連。也沒有將

原创 POJ2513

開始的時候只是用了tire樹。。但是沒有判斷圖是否連通。。。覺得只要奇數個的是0或2就好了。。後來發現了這樣的情況:b b\n  s r\n s t\n滿足奇數個那個條件但是是impossible的。。於是用並查集。。想原來最開始學習的就

原创 2011 Multi-University Training Contest 1 - Cat VS Dog

二分匹配的問題很是迷人,關鍵點就是在怎樣建圖。這道題我沒有想出來但是學習到了不少的東西。首先匈牙利算法的在main()裏面的循環是循環的是left這邊的。而find函數這是right。看來我還是沒能理解怎樣在增廣。其次就是建圖的問題,如何

原创 hdu3832(2011 Multi-University Training Contest 1 - Host by HNU )

題意:給n個點,求將前三個點連接起來的使用的最少的點的個數(每個點都有半徑,兩個點相連接表示兩個的半徑和大於或等於兩點間的距離)。 思路:我沒有想出該怎麼做,想了很久,後來看了題解,題解用的是最短路做。開始我嘗試用最小生成樹做。但是不知道

原创 POJ1753(未完待續)

我開始就是暴搜然後TLE了。後來看了DISCUSS說逆搜能秒過。然後就換了一下。結果94MS過。當然這是鑽了數據的漏洞,還會再寫一遍這道題。先把我齷齪的代碼貼上來。明天網預,雖然與我的關係不大,但是還是加油的打好吧。。。 上代碼: #in

原创 POJ1011 POJ2362(9.7博文)

(忘了上傳) 淚奔啊。。。神們兩個月前過的題我現在才做,還不太會。。。嗚嗚。。。 首先鳴謝葉神。。。我終於把神博客裏的搜索寫完了。。。最後這兩道還是看神的代碼纔會的。。。 總結些個: 基本上剪枝我都考慮到了但是,我的DFS寫得是

原创 POJ3253

    這完全是一道記錄我成長的題目。     開始的開始看到這道題目,貌似是watercube的第一場比賽。貌似是第一次網絡賽。那時候是鹽在想這道

原创 編號(長度)動態規劃

題庫 a)       最長不下降子序列 以一元組(i)作爲狀態,表示第i個作爲序列的最後一個點的時候的最長序列。於是很容易想到O(n2)得算法。但本題可合理組織狀態,引入一個單調的輔助數組,利用單調性二分查找,優化到O(nlogn)。關

原创 POJ 3352 || POJ3177

開始的時候是去做論壇上的poj上的2942,但是發現我不會做,於是去查關於雙聯通的問題,然後就看到了tarjan算法,記得國慶在家的時候,就想學來着,結果本身對於強連通什麼的基礎的東西都沒有弄懂,跟不要說去看tarjan算法了。。。全是一

原创 寒假剛開始的時候立一下志

既然已經選擇了,就要風雨兼程。這次的期末告訴我用心,是能夠成功的。 我不可能靠自己的智慧成功,因爲我根本就沒有那個智慧。暴力,所有的成功都來自暴力。哈學可能是對於我這樣愚鈍的人最好的方式。下學期要考四級了。還是想弄到600+,所以寒假努力

原创 大一就過去了

        這個總結本來很早就該寫了。但是一直沒有寫。 大一的專業排名出來了。看了之後很是傷心。大一上的時候還是專業排名15的我,而現在已經淪落到45了。中間的差距令我生畏。現在對未來是無限的恐懼。現在我時而清醒時而迷茫,清醒的時候想

原创 POJ2528

這是一道很值得一說的題目,首先這道題又用到了我不會的離散化。通過看HH神牛的博客,大概懂所謂的離散化。離散化就是將大區間映射到小區間內。這道題有幾個要點首先是先將所有的值排一個序列,然後將其中重複的值消去。。。如果兩個值間的的距離值相差2