原创 hdu3140 Money Matters 並查集

 題意是有幾個人分佈在不同的城市,只有在同城市的人才能交換使收支綜合等於0。因爲n在[0,10000],所以不能保存路徑然後DFS了,數組太大。用並查集,將每個人分到自己的城市,若每一個城市裏的人的money總和都等於0,則POSSIBL

原创 hdu3282 Running Median(排序)

剛開始我連題目都沒讀懂。。題意是,當每次讀入數據到奇數位時,尋找中間值。比如第三組數據前五個數23 41 13 22 -3。首先第一個數是23,肯定輸出23然後輸入41 13,那麼排序後得13 23 41,中間值還是23.再輸入22 -3

原创 zju1717 The Secret Number(DP)

標準的DP吧。 我的思路:因爲必須用字符類型存儲,所以我想到了用string解決,因爲string比較數字的大小隻要先比較長度,長度相等的話,直接比較就可以了。mat[i][j]存儲矩陣本身。num[i][j]表示到達第i行,第j列所能得

原创 hdu2544 最短路(dijkstra)

#include<iostream> #include<string> #include<algorithm> using namespace std; const int Max=INT_MAX/2; const int N=101

原创 hdu1587 Flowers

反應就是水題,貪心。老師說,用完全揹包。確實,一題多解嘛,是我們應該有的態度。 這裏就只有一個V[]保存價值,然後F[]保存最大個數就可以了,一個小小的變換。 還有一個就是提供的money沒有範圍,就又可以練習一下vector了   #i

原创 zju3204 Connect them(最小生成樹 kruskal 並查集應用)

kruskal算法的思想是,將每條邊從小到大排序,然後從最小的開始選,如果這兩個點不在同一個集合裏,就利用並查集將兩個集合合併,否則就放棄,直到選到第n-1條邊爲止,因爲一個有n個節點的生成樹只有n-1條邊。這道題目主要的問題在於字典序(

原创 hdu1425 sort (hash)

簡單的哈希表應用,對每個元素給一個映射地址,然後從後往前搜索,若h[i]!=0 就輸出。     #include<iostream> using namespace std; int h[1000001]; int main() {

原创 hdu1022 Train Problem I(STL 棧的應用)

#include<iostream>#include<string>#include<stack>using namespace std;int main(){    int n;    while(cin>>n)    {       

原创 zju1798 Granny's Bike (DFS)

題意是granny是否能從家裏出發,走完每一個點僅一次然後回到家,也就是找是否存在漢密爾頓迴路。數據規模小,我的方法是用二維數組保存連接點,然後DFS搜索。     #include<iostream> using namespace s

原创 zju1947 The Settlers of Catan (DFS)

題意是有0 ~ n-1 個點,要從一個點出發,每條邊只能走一次,使得經過的路徑最長。我還是直接保存路徑,然後DFS,只不過這次要用二維數組判斷點i - j 是否已走過(若i - j 已被訪問,則 j - i 也就被訪問)。     #i

原创 vs 出現綁定句柄無效 的錯誤

在運行裏輸入services.msc 將裏面的Terminal Services 設置爲啓動。 點贊 收藏 分享 文章舉報 Jsjdream 發佈了28 篇原創文章 · 獲贊

原创 hdu3332 Windows

剛開始以爲是個水題,跟以前一到省賽題很像。但發現第二個樣例好像對不上。。。 關鍵在於pixels(像素)這個單詞上,以前的題目是一點一點的算,這道題是按一格一格來劃分區域的,這樣理解就可以對上了。   #include<iostream>