最小樹型圖的求解與實現

轉自:http://www.zlinkin.com/?p=63  圖論是ACM競賽中比較重要的組成部分,其模型廣泛存在於現實生活之中。因其表述形象生動,思維方式抽象而不離具體,因此深受各類喜歡使勁YY的Acmer的喜愛。這篇文章引述圖論中有關有向圖最小產生樹的部分,具體介紹朱劉演算法的求解思路,並結合一系列coding技巧,實現最小樹型圖O(VE)的演算法,並在最後提供了該演算法的模版,以供參考。  關於最小產生樹的概念,想必已然家喻戶曉。給定一個連通圖,要求得到一個包含所有頂點的樹(原圖的子圖

ACM訓練方案

初期:一.基本演算法:(1)枚舉. (poj1753,poj2965)(2)貪心(poj1328,poj2109,poj2586)(3)遞迴和分治法.(4)遞推.(5)構造法.(poj3295)(6)類比法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.圖演算法:(1)圖的深度優先遍曆和廣度優先遍曆.(2)最短路徑演算法(dijkstra,bellman-ford,floyd,heap+dijkstra)  (poj1860,poj3259,poj1062

POJ1465 Multiple BFS+同餘

給你一個數n 然後給你m個數,讓你求一個最小的數,這個數是n的倍數,並且由題目中提供的m個數組成。用BFS。此題可以用同餘判斷的方法來剪枝。假如 A%X  ==  B%X  (設A<B)那麼 (A*10+Ki)%X==(B*10+Ki)%X所以A,B之中我們只要取前面的A就行,因為題目要取最小的數,通過同餘我們可以知道,A和B這兩個數在末尾添加任何相同的數MOD

LA4255 Guess 拓撲排序

Bi表示A1+...Ai則題目中Sij可以表示為Bj-B(i-1) :即首碼和只差利用大小關係,我們可以得到Bj和Bi-1的大小關係,連一條邊從大的連到小的,統計入度,拓撲排序,先出隊的為大的元素,B0為0,初始化所有元素為0,每次調整Bi的大小GuessTime Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu[Submit]   [Go Back]  

hdu 2993 MAX Average Problem(DP+斜率最佳化入門題)

MAX Average ProblemTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3800    Accepted Submission(s): 980Problem DescriptionConsider a simple sequence which only contains positive integers as a1,

hdu 4546 優先隊列 數列組合和第m小

題目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4546題意:給你n個數,問這n個數的組合的和,第m小是多少分析:很明顯的,要給初始序列排序(我寫的時候居然忘記排序了,看來下次得把步驟寫下來= =),然後發揮想像力,你會發現這其中有一定規律,我們可以假設有這樣的元素,struct  data{    int start, i;}序列為a[ i ],start表示當前的組合的和,i表示下次添加的元素為a[ i ];將這些元素加入優先隊列一開始只有 a.

將AC進行到底

    每次看到大牛們寫退役的文章,都有一番感慨,都有一番為未來而奮鬥的熱血澎湃,我多麼希望,在將來的某天,我也像他們一樣,瀟洒的寫下輝煌的戰績,然後悄然離去。。。    現在的我,還是個菜鳥吧,至少我自己知道,我們學校有個傳統,就是大三了,就不搞ACM了,我也不知道這是為什麼,所以這一篇,可以說是我退役的預告帖吧,或許,明年我可能再參加一兩場比賽吧,我向來就是不喜歡規矩的人。或許明年你們還會見到我依舊在比賽吧,這也許是必鬚髮生的事。。。   

我的跳舞鏈 Dancing Links 模板

第一個模板——精確覆蓋問題題目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3038為什麼選擇這題呢,因為它既可以當作數獨模板又能當成DLX模板,不是一舉兩得嗎^ ^#include<cstdio>using namespace std;const int N=16;const int mm=N*N*N*4+N*N*4+N;const int mn=N*N*N+N;int

poj 1252 Euro Efficiency(多次完全背包)

Euro EfficiencyTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 1866 Accepted: 848DescriptionOn January 1st 2002, The Netherlands, and several other European countries abandoned their national currency in favour of the Euro. This changed

hdu 1087 Super Jumping! Jumping! Jumping! ( 求序列的最大上升序列 )

Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17746 Accepted Submission(s): 7617Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping!

hdu3874Necklace(線段樹或者BIT + 離線處理)

->題目請戳這裡<-題目大意:給n個數,求任意區間不相同數字之和。題目分析:n個數是給定的,不會變了,區間也是給定的。由於要求任意區間不重複數字之和,那就和這道super

hdu 4067 Random Maze(最小費用最大流)

Random MazeTime Limit: 10000/3000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 256    Accepted Submission(s): 69Problem DescriptionIn the game “A Chinese Ghost Story”, there are many random mazes which have some

hdu 4489 The King’s Ups and Downs ( 遞推 + 排列組合 )

The King’s Ups and DownsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 184 Accepted Submission(s): 116Problem DescriptionThe king has guards of all different heights. Rather than line them up in

poj 1673 EXOCENTER OF A TRIANGLE(求三角形垂心)

EXOCENTER OF A TRIANGLETime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 2947 Accepted: 1116DescriptionGiven a triangle ABC, the Extriangles of ABC are constructed as follows: On each side of ABC, construct a square (ABDE, BCHJ and ACFG in

網路流之–混合圖的歐拉迴路

基礎知識    歐拉迴路是圖G中的一個迴路,經過每條邊有且僅一次,稱該迴路為歐拉迴路。具有歐拉迴路的圖稱為歐拉圖,簡稱E圖。    無向圖中存在歐拉迴路的條件:每個點的度數均為偶數。    有向圖中存在歐拉迴路的條件:每個點的入度=出度。    歐拉路徑比歐拉迴路要求少一點:    無向圖中存在歐拉路徑的條件:每個點的度數均為偶數或者有且僅有2個度數為奇數的點。    有向圖中存在歐拉路徑的條件:除了2個點外,其餘的點入度=出度,且在這2個點中,一個點的入度比出度大1,另一個出度比入度大1。  

poj 1017 Packets ( 貪心 )

PacketsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 40110 Accepted: 13424DescriptionA factory produces products packed in square packets of the same height h and of the sizes 1*1, 2*2, 3*3, 4*4, 5*5, 6*6. These products are always

FZOJ2124吃豆人(bfs+優先隊列)

->題目請戳這裡<-題目大意:給一個n*m的迷宮,有個人,位置是p,有個豆子,位置是b,可能有一個寶貝,位置在s,其他的要麼是障礙X,要麼是空地.,現在人要吃豆子,人只能上下左右移動,每次花時間1秒,這個人的舌頭比較長,如果他和豆子之間沒有障礙,他直接伸舌頭就能把豆子吃了,舌頭走一格只要0.1秒(舌頭要收回來才能吃豆子)。寶貝是用來加速的,吃了寶貝後人的移動速度就快了一倍,即走一格只要0.5秒。現在要求最小吃豆時間,如果吃不了豆輸出-1。題目分析:BFS做。這題煩人煩在那個寶貝,由於

poj 1659 Frogs’ Neighborhood (貪心 + 判斷度數序列是否可圖)

Frogs' NeighborhoodTime Limit: 5000MS Memory Limit: 10000KTotal Submissions: 6076 Accepted: 2636 Special JudgeDescription未名湖附近共有N個大小湖泊L1, L2, ..., Ln(其中包括未名湖),每個湖泊Li裡住著一隻青蛙Fi(1 ≤i ≤N)。如果湖泊Li和Lj之間有水路相連,則青蛙Fi和Fj互稱為鄰居。現在已知每隻青蛙的鄰居數目x1,x2,

我的最小樹形圖模板(已更新)

這個寫法複雜度為O(ElogE+V*V),關鍵耗時在排序上,當邊權範圍相對小的時候,用基數排序最佳化,做到O(V*V)*常數,這個效率非常可觀,基本上如果滿足邊權要求就用這個模板了,希望有人幫我最佳化下普通情況下的排序。。。之後再給出普通版的模板,先貼這個基數排序最佳化的代碼(UVA 11183 - Teen Girl Squad):#include<cstdio>using namespace std;const int mm=44444;const int

POJ3928 Ping pong 樹狀數組

題目中只n個人,每個人有一個ID和一個技能值,一場比賽需要兩個選手和一個裁判,只有當裁判的ID和技能值都在兩個選手之間的時候才能進行一場比賽,現在問一共能組織多少場比賽。這道題目是簡單的樹狀數組統計問題。首先我們要對技能值從小到大排序,然後利用每一個選手的ID對樹狀數組進行維護.每次維護一個ID之前先查詢sum(ID) 與sum(n)-sum(ID)打個比方,我們當前維護ID :i

總頁數: 61357 1 .... 19640 19641 19642 19643 19644 .... 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.