原创 hdu1879

一開始比較笨,採取的方案是由已建成邊串聯起來的頂點視爲一個整體,使用prim加點時這些頂點加入一個就級聯加入,不增加額外的代價,相應dist[]分量置零,這樣使用隊列比較方便,但對隊列元素處理的過程有點繁瑣,要比較小心,每個點出隊,於這個

原创 ZJU 09 複試上機 第四題

第四題:尋找大富翁;輸入n(0<n<=100000),m(0<m<=10),n爲小鎮上的人數,m爲需要找出的大富翁數。輸入: n, m 接下來一行輸入小鎮n個人的財富值,輸出:前m個大富翁的財產數,n爲0時結束       這道題 看到時

原创 ZJU 09 複試上機 第一題

感覺今年題目明顯跳水,做到自己都有點不敢相信了,哎~~沒有地方可以提交,可能有些比較隱晦的邊界條件,姑且不管了,先寫上來再說:     第一題:xxx定律:數n,如果是偶數,把n砍掉一半;如果奇數,把3n+ 1砍掉一半,直到數變爲1爲止

原创 hdu1231 最大字段和

這道題目曾經困擾我很久,覺得自己的程序應該沒什麼問題卻老是WA,測試用例全部能通過,今天重新寫了一遍 另外對全負數的情況進行了專門的處理 一次就AC了 開始有點困惑,現在一看前面的邏輯還真有點荒唐   AC代碼: #include<ios

原创 hdu1879 悲劇的kruscal版本

之前已經給了幾個prim的版本,沒有注意到時間都達到800+ms,瀕臨上界,看來還是prim算法效率更高一點,不過後者可能更簡單直觀一點,一開始使用 vector+sort 使用並查集 一提交超時,檢查好幾遍 確定沒有邏輯問題,在並查集部

原创 hdu 2072

一道簡單題目,不過直接用字符統計  還是比較麻煩的,用set比較適合解決這個問題,另外輸入處理也有個小技巧  使用 stringstream保存一行文本會方便很多,最後一點 在每個測試用例結束不要忘了給set清空 #include <io

原创 hdu 1233

克魯斯卡爾算法 使用並查集檢測是否構成迴路決定邊是否能夠加入:   #include <iostream>#include <vector>#include <algorithm>using namespace std; int part

原创 hdu 1875 Prim

什麼都不想說,哎...把一個小於號 寫成了大於號 花了一個小時才發現  。。。。。。。。。。。 完全一樣的操作,就增加了一個距離計算  比較噁心的是題目的測試用例太簡單  經常發現不了題目中的邏輯錯誤   #include <iostre

原创 hdu1881 畢業bg 搜索版本

這道題目於最大報銷額有些不同,這道題目不需要特別的減枝策略,但各個bg之間不是平等地位的,在之前那道題目中對初始數據的順序沒有什麼要求,因爲前面得有沒有加進來對後面的抉擇沒有根本上的限制,探查順序會考慮所有有意義的路徑,而這道題目不同,考

原创 hdu1863

和前一年那道暢通工程幾乎一模一樣,只要在加邊過程中增加在整個容器被遍歷結束時沒有加入頂點數-1條邊的判斷邏輯,此時無法判斷圖是否連通,意味着所有邊探查結束 所得不是一個連通分支: 克魯斯卡爾+並查集: #include <iostream

原创 poj 1679 The Unique MST

http://acm.pku.edu.cn/JudgeOnline/problem?id=1679 Description Given a connected undirected graph, tell if its minimum s

原创 ZJU 09 複試上機 第二題

第二題:ZOJ,讀入一個字符串,字符串中包含ZOJ三個字符,個數不一定相等,按ZOJ的順序輸出,當某個字符用完時,剩下的仍然安裝ZOJ的順序輸出。當讀入的字符串爲E時,結束。   Input: ZZOOOJJJ ZZZZOOOOOJJJ

原创 hdu2573 大小寫識別

很簡單的一道題目,還是出現了一個小問題 !的運算級比%運算高,以後要小心...   #include <iostream>using namespace std;char num[101];int main(){ int t; cin>>

原创 ZJU 09 複試上機 第五題

第五題: 找出直系親屬。如果A,B是C的父母親,則A,B是C的parent,C是A,B的child,如果A,B是C的(外)祖父,祖母,則A,B是C的grandparent,C是A,B的grandchild,如果A,B是C的(外)曾祖父,曾

原创 hdu1864 搜索版本

這道題目使用dp還要乘以100轉化爲0-1揹包問題,使用搜索版本更容易上手一點,終於體會到減枝的魅力,在深度遞歸中如果只像畢業bg那道那樣不取當前節點的展開不施加任何條件的話會超時(那道因爲取的路徑限制很嚴,而不像這裏是一個固定值,那裏可