原创 UVA 10735 混合圖的歐拉回路

題意: 判斷混合圖中是否存在歐拉回路,如果存在歐拉回路,輸出路徑。 思路: 歐拉回路 存在每條邊經過且只經過一次後回到原點的路徑 在混合圖中存在歐拉回路,需要滿足以下條件: 1.把所有無向邊任意規定一個方向後,對於每個點,滿足 |入度-出

原创 uva 1001 建圖+最短路

題意: 在一個三維的空間內求從起點到終點的最短時間花費。 其中n個洞,在洞內通過的時間花費是0,在洞外的時間花費是每單位10sec 思路: 水題 建立起點到每個洞的邊,建立終點到每個洞的邊,建立起點到終點的邊 ,邊權是到達所需的時間花費。

原创 hdu 4777 樹狀數組這麼用好厲害

題意: 給出m個區間查詢,查詢 區間裏和區間中的其他數字 都互質 的數字的個數 思路: 簡單題,因爲並沒有 修改,全是查詢 把所有查詢讀入,按照左端點 從左往右來處理。(原因稍後 首先預處理對於每一個位置(id)的數字,往左和往右最遠到哪

原创 poj 1151 求矩形面積並 (線段樹掃描線)

題意: 給出n個矩形的左下角和右上角座標,求這n個矩形所構成的面積 思路: 線段樹掃描線 這是第一次做到線段樹掃描線,剛開始也不懂 如果不懂,可以看: http://www.cnblogs.com/scau20110726/archive

原创 ZOJ 2366 Weird Dissimilarity (簡單DP)

題意: 字符c1和c2的距離爲d(c1, c2),已知兩個字符串s和t,現在要找長度相等的兩個字符串a和b,使得s是a的子序列,t是b的子序列,且a和b的距離最小。 思路: 字串和子序列是不一樣的。。。。子序列是允許中間 間斷 的,而字串

原创 poj 2378 樹上的DP

題意: 給一棵n個節點連通的樹  條件 : 去掉一個節點 使剩下的每個連通分量 都不超過n/2個節點 讓找出所有符合上述條件的點 按照從小到大的順序輸出 思路: 首先建樹  然後在建樹的過程中,統計每個節點的子樹中 最多的節點個數 同時統

原创 hdu 5139 (離線處理)

題意: f(n)=(∏i=1nin−i+1)%1000000007 You are expected to write a program to calculate f(n) when a certain n is given. 思路:

原创 fzu 2056 暴力

題意: 現在有一個n*m的矩陣A,在A中找一個H*H的正方形,使得其面積最大且該正方形元素的和不大於 limit。 思路: 水題 預處理矩形元素和,然後二分枚舉最大邊長,然後把這邊長在整個矩形中試一遍(O(n*m))看是否符合。總時間複

原创 hdu 3333 樹狀數組+離線處理

題意: 查詢區間和,重複的數字只計算一遍 思路: 先離線讀入所有區間,然後按照區間右端點從小到大排序。 從數組的第一個數開始,依次修改bit直到每個區間的右端點,然後bit求區間和。 修改方式:用一個map記錄當前數字是否已經出現過以及出

原创 反思 並查集

最近其實並沒有刻意去練並查集,不過昨天和今天做到了兩道題目,均是用並查集來解決的 在解決這兩道題目的過程中,我在運用並查集的時候,都出現了嚴重的錯誤。 具體表現在,思路很清晰,應該怎麼做也很明白,但是在處理的過程中對並查集的操作並不正確。

原创 poj 2377

題意: 最大生成樹 思路: 最大生成樹 code: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<vector> #i

原创 uva 10817 狀態壓縮DP

題意: 有S個課程要教, 學校本來有m個教師 給出工資和所教課程編號  (在職教師不能辭退) 來應聘的有n個教師 給出工資和所教課程編號 問保證每個課程都有兩個老師可以教的前提下,最少發多少工資 思路: 水題; 總共最多隻有8個課程,狀態

原创 uva 10934 裝滿水的氣球

題意和思路見: http://blog.csdn.net/shuangde800/article/details/11273123 我的想法: 首先問題轉化一下 將問題轉化成:定義f[i][j] 表示給i個水球和j次實驗機會,最高能夠測試

原创 fzu 2058 問題轉化 + 二分

題意 A array contain N number, can you tell me how many different pair i,j that satisfy a[i] + a[j] = M and 1<=i < j <=N.

原创 hdu 4940 Destroy Transportation system( 無源匯上下界網絡流的可行流判斷 )

題意:有n個點和m條有向邊構成的網絡,每條邊有兩個花費: d:毀壞這條邊的花費 b:重建一條雙向邊的花費 尋找這樣兩個點集,使得點集s到點集t滿足 毀壞所有S到T的路徑的費用和 > 毀壞所有T到S的路徑的費用和 + 重建這些T到S的雙向路