POJ 2421 Constructing Roads 最小產生樹

來源:http://poj.org/problem?id=2421題意:還是給你n個點,然後求最小產生樹。特殊之處在於有一些點之間已經連上了邊。思路:對於已經有邊的點,特殊標記一下,加邊的時候把這些邊的權值賦值為0即可。這樣就可以既保證這些邊一定存在,又保證了所求的結果正確。代碼:#include <iostream>#include <cstdio>#include <algorithm>#include <string.h>#include &

NYOJ 118 次小產生樹

          先是prime演算法糾結了一天,,,,,然後這個次小產生樹又糾結了一天。本來昨天能搞出來的,,,昨天滿課,晚上又開會,,,就推到了今天上午,,,,在10點之前做了出來。。貢獻了幾次wr,,,,,不容易啊。。。深刻理解了prime,,寫次小產生樹時應該會容易一點點。       次小產生樹的兩種演算法:演算法1、step 1.  先用prim求出最小產生樹T.         在prim的同時,用一個矩陣max[u][v] 記錄 在T中連結任意兩點u,v的唯一的        

NYOJ 月賽 448 尋找最大數

    比賽前zmh給我說有水題,,如今看來,,能稱之為水題的也只有這道題了,,,可惜的是,比賽時仍舊有很多人沒有做出來。我當時花了30分鐘左右1Y的,,感覺沒有什麼特殊的資料需要考慮,不明白為什麼有人會錯那麼多次。。。虧得做出來一題,否則就被剃光頭了,,,,,,悲劇。。。。。。題目:尋找最大數時間限制:1000 ms  |  記憶體限制:65535 KB難度:2描述請在整數 n 中刪除m個數字,

POJ 3625 Building Roads 最小產生樹

來源:http://poj.org/problem?id=3625題意:平面上有一些點,這些點的座標已知。求串連起這些點最少的長度是多少。其中有一些點已經串連了起來。思路:其實還是最小產生樹了。只不過這道題由於邊太多,所以用kruskal逾時,可以用prime輕鬆解決。下面簡述一下prime演算法的思想:prime演算法是基於貪心的一種演算法。首先我們可以選擇一個點,並標記該點已經被訪問過。然後從和該點相連的邊中選擇出一條長度最小的,該條邊一定是最小產生樹中的邊。並且把這個點記錄下來,並標記為訪

AC大牛經典語錄

超經典:1. 為了世界的和平,為了女生的安全,我拚命做題,做題,做題!2. A ac a day, keeps the doctor away!3. from good to great!4. 用最短的時間,刷最多的題!5. 給我一滴淚,我就看到了你全部的海洋!6. GO--GO---GO GOOD-BETTER-BEST7. seize the hour, seize the day.8.

POJ 1256 DFS

      這道題的排序需要好好想一下,之後的由於序列是無重複的,所以在dfs的時候需要特殊處理一下即可。題目:AnagramTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 14869 Accepted: 6085DescriptionYou are to write a program that has to generate all possible words from a given set of

POJ 1861 Network 最小產生樹

來源:http://poj.org/problem?id=1861題意:有一些公司,公司之間需要串連起來。給出了哪些公司可以串連以及串連邊的長度。求最小產生樹中最大的邊,以及最小產生樹的邊數,以及輸出一顆可行的最小產生樹。思路:基本上就是裸的kruskal了。可以水之。代碼:#include <iostream>#include <cstdio> #include <string.h>#include <algorithm>using

POJ 3026 Borg Maze bfs + 最小產生樹

來源:http://poj.org/problem?id=3026題意:說有一個迷宮,裡面有一些外星人,外星人用字母A表示,#表示牆,不能走,空格可以走。從起點‘S’出發。在起點和A處可以分叉,問找到所有的外星人的最短路徑是多少。思路:此題其實不是太難了,可以先用bfs搜尋圖,然後建邊,求出一點到另一點的距離,然後求最小產生樹即可。最小產生樹用prime和kruskal均可。關鍵是這道題輸入需要注意。首先先輸入的是列,然後是行。其次是輸入列和行的後面有可能有空格,因此需要gets一下。還有就是輸

FZU 1402 豬的安家 中國剩餘定理

來源:http://acm.fzu.edu.cn/problem.php?pid=1402題意:中文~思路:就是中國剩餘定理的模板題,本來是做poj上的一道題,那道題沒要求兩輛不互質,還要轉化成兩輛互質的,還不會,,,先把這道題水過了。。代碼:#include <iostream>#include <cstdio>#include <string.h>using namespace std;#define CLR(arr,val)

POJ 1679 The Unique MST 次小產生樹

來源:http://poj.org/problem?id=1679題意:判斷最小產生樹是否唯一。思路:求出最小產生樹後再求次小產生樹,如果次小產生樹的長度和最小產生樹的長度相等,則最小產生樹不唯一,否則最小產生樹唯一。介紹一下我求次小產生樹的方法。次小產生樹可以用kruskal和prime兩種方法求。kruskal演算法求的過程就是多次求最小產生樹。我們第一次求最小產生樹的時候把邊的序號都標記下來,然後以後多次求最小產生樹的時候,每次都不用第一次求得最小產生樹的時候的邊。比如說,第一次求最小產生

NYOJ 202 紅/黑樹狀結構 數組類比中序遍曆

       題目其實在迷惑人了,紅/黑樹狀結構經過旋轉後中序遍曆其實是不變的,所以不用管下面的旋轉,直接輸出中序遍曆就可以了。可以用數組類比實現樹的中序遍曆。      題目串連:http://acm.nyist.net/JudgeOnline/problem.php?pid=202ac代碼:#include <iostream>#include <cstdio>#include <string.h>using namespace std;const

百度之星資格賽 J題 百度的新大廈

題意:中文題,不解釋思路:直接解方程就可以了。設電梯一次上升a,一次下降b,總共按按鈕n次,設按上升按鈕按了x次,則最後電梯的位置是a*x-b*(n-x),求滿足該式的最小正數值即可。總共有2000個電梯,枚舉每個電梯,找最小值即可。ac代碼:#include <iostream>#include <cstdio>#include <string.h>using namespace std;struct house{int up,down;}hh[2012];

武大集訓第三周總結

來到武大集訓已經三周了。前兩周主要是個人賽,第三周是組隊賽。正如個人賽被虐一樣,組隊賽也是一樣被虐。坦白來說,在武大的這三周時間裡,如果單從學習知識的多少來說,確實是沒有預想中的那麼多,但是從武大集訓隊員的身上確實學到了很多。來到這裡後,有幸聽了幾次final選手講課,其認真程度以及對知識的理解程度,讓我明白了我們學校集訓隊和武大的差距。一般來說,就我瞭解的我們學校的集訓隊,大部分隊員學一個新知識的時候僅限於會用,而不知道為什麼可以這樣用。這樣下來,就有一個大的缺點,就是只會做模板題,稍微痛點的

HDU-1009 貪心

這道題的解法體現生活——買東西買性價比高的。P.S. 總有一些小地方讓你WA==!為什麼總是用non-negative來摧殘人?/* * hdu-1009 * mike-w * 2012-4-8 */#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX_SIZE 11111#define INF (2<<20)#define ONLINE_JUDGEtypedef

hdu 1114 Piggy-Bank–DP

/*完全背包問題,且要求正好裝滿,求最小值(可以初始化為正無窮)公式是:f[j]=min(f[j],f[j-qian[i].c]+qian[i].w);*/#include<stdio.h>struct node{int c,w;//c是花費的資源,本題中指重量;w是帶來的價值,本題中是面值}qian[600];int f[10100];int main(){int t,a,b,i,j;scanf("%d",&t);f[0]=0;while(t--){scanf("%d%d"

hdu 2602 Bone Collector–DP

/*簡單的0-1背包問題剛開始感覺f[0]一般不會被賦值,也就沒初始化它但是資料有點叼,居然有體積為0價值不為0的骨頭這樣f[0]就被賦值了若不每次都初始化,後面的測試執行個體一上來,f[0]就有一非0值*/#include<stdio.h>int c[1100],w[1100],f[1100];int main(){int

LightOJ 1237 KM求最大匹配最小匹配

來源:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=9954#problem/G題意:有一些人來咖啡館開始時間和離開咖啡館的時間,但是對應的順序被打亂了,也就是說不知道每個人來的時間和離開的時間。有一個函數用來計算某人來咖啡館所需要的費用,求最大能獲得多少費用,最少能獲得多少費用,還要判斷資料是不是合法。思路:由於每個人對應一個開始時間和結束時間,因此我們可以以此建立二分圖,邊的權值就是所對應的費用。當二分圖匹配為人的個數時,

hdu 1059 Dividing–DP-多重背包問題

/*多重背包問題該題求的是能否拿到總價值的一半可以假設 每個球消耗的空間和它的價值相等則本題可轉化為:在總空間一半的口袋裡能否得到總價值的一半(因為價值密度為1,故最多能達到一半)*/#include<stdio.h>#include<string.h>int d[120000],n[7],w;void cpack(int c,int ww){int

暑假集訓計劃

暑假集訓計劃去年暑假集訓的時候,剛開始計劃挺好的,但是後來沒有很好的落實。預想的結果非常好,但是結束後發現收穫遠遠沒有當時想的好。後來考慮了一下,主要是當時浪費了很多時間,沒有充分利用時間看書。因此在今年暑假集訓的過程中,要避免這種情況的發生。7月5號到7月20號:複習動態規劃,學習狀態壓縮。具體來說,前一周複習一些動態規劃的題目,後一周學習狀態壓縮以及一些有難度的動態規劃。7月21號到7月31號:學習一些初等的組合數學,做一些組合數學的題目。8月1號到8月10號:學習優先隊列,哈夫曼樹,紅/黑

總頁數: 61357 1 .... 21009 21010 21011 21012 21013 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.