原创 POJ3180——The Cow Prom

大致思路: 根據題目描述,能轉的起來的一定是這個有向圖的強連通分量,而且分量裏的點數大於1。 代碼: #include <set> #include <map> #include <list> #include <stack> #incl

原创 枚舉的最小生成樹——hdu1598

題目描述: XX星有許多城市,城市之間通過一種奇怪的高速公路SARS進行交流,每條SARS都對行駛在上面的Flycar限制了固定的Speed,同時XX星人對 Flycar的“舒適度”有特殊要求,即乘坐過程中最高速度與最低速度的差越小乘坐越

原创 二分——POJ3388

題目描述: 給出k種花色磚塊的數量,問n*n的地板最多能鋪多少行相同的。 大致思路: n的範圍40000,k的範圍50000,典型的二分數據範圍,這樣就二分答案,每次判斷能不能拼出答案即可。 代碼: #include <iostream>

原创 二分加二分——POJ3685

題目描述: 給出一個矩陣,矩陣每個點(i,j)的數值是i*i+100000*i+j*j-100000*j+i*j。求出第m大的數。 大致思路: 數據範圍略大,所以採用二分的想法,二分一個數值x,每次統計比他大的數的個數,在統計過程中,對於

原创 記憶化搜索——ZOJ3352

題目描述: 兩個人在DAG上的博弈,圖上有兩個旗子,一白一黑,每次可以移動一個旗子,不能移動的那個人爲負。輸的人要負相應的罰金。移動一次白旗罰金增加,移動黑旗罰金減少。問最後先手獲得最多的錢和第一步有多少種走法。 大致思路: 定義狀態dp

原创 2-SAT+二分——POJ2723

題目描述: 題目描述很簡單,有m扇門,每扇門有兩個鎖,兩個鎖對應兩把鑰匙,任意打開一個鎖就可以打開一扇門,其中鑰匙也是倆倆配對的,也就是說一對鑰匙中只要使用了一把,另一把就不能使用了,但是使用過的鑰匙可以反覆使用。求最多能開多少門。 大致

原创 POJ1236—— Network of Schools

大致思路: 第一個小問是問在多少電腦上放置源文件,能傳遍整個計算機網絡,答案很明顯就是強連通縮點之後入度爲0的點的個數。 第二個小問是問加多少邊之後,在任意一個電腦上放置源文件,就能傳遍整個計算機網絡,這個問題就是要把縮點之後的圖變成一個

原创 答案最小化——POJ 3104

題目描述: n件衣服,每件衣服有a[i]的水量,每分鐘會自蒸發1的水量,而使用烘乾機則會烘乾k的水量,同時,使用烘乾機的時候沒有自然蒸發。問晾乾所有衣服的最少用時。 大致思路: 答案最小化,典型二分的標誌,二分的數值就是答案,對於每個數值

原创 位運算的藝術:POJ2443

題目描述: 給出N個集合,每個集合有M個元素,q次詢問,判斷兩個數字x,y,是否存在一個集合同時包含這兩個元素。 大致思路: 首先看到是集合問題,應該會想到並查集,但是這個題顯然不能用並查集來做……畢竟不是不相交集合。其次就想到的是用一下