麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

POJ - 1094 Sorting It All Out解題報告

2019-11-11 05:15:23
字體:
來源:轉載
供稿:網友

題目大意:好像就是先告訴你他要用26個字母的前n個字母,然后給你m條對這n個字母的限制,每一條限制這n個字母其中的兩個的先后關系,問你通過這些限制條件能不能確定這n的字母的序列。注意:當存在沖突或者拓撲排序成功時,之后的輸入不對結果造成影響。(一開始因為這個一直在wa)

思路:A<B即可以理解成存在邊A-B。n個點組成的圖,給你m條邊。問你該圖是否為DAG(無有向環圖)然后是否拓撲序唯一,最后求拓撲序。關于Kahn算法:找出所有入度為0的點,這些點都存入結果數組中(這些點拍成任意順序都可以,因為不會有其他點必須在它左邊)然后枚舉這些點(任意順序),依次判斷這個點的所有出邊(判斷之前在圖中刪除該邊),如果出邊的另一端的點,當前入度(刪除邊之后)為0,就可以把他放入結果數組之中(他已經保證了在以它為終點的所有的起點的右邊,以后再往數組里放的點,都能在它右邊),如果不是,就不入數組,但是刪的邊也不要還原(因為現在也已經保證了,該邊的起點在終點左邊)。 網上查到了對這個算法更簡單的描述:取出圖中所有入度為0的點,然后刪除這些點(包括其出邊),再一次取出所有入度為0的點。知道所有點都被取出。 

對于這道題所要求的拓撲排序唯一,在Kahn算法實現過程中,不能有這么隨意,也就是說,一開始,入度為0的點只能有一個,然后每次對結果數組中的點,判斷其所有出邊的另一端是否可以進入數組的時候,有且只有一個點可以進去。然后下一次判斷出邊的點,也是唯一確定的了。如果某一次,進入的點不止一個或者沒有點入隊,那么,不能確定該拓撲序(在判斷完該圖為DAG的前提下)。 在網上查得另一種保證拓撲排序唯一的方法,對排序完成的數組中,每兩個相鄰的點進行一次判斷,判斷其之間是否有從左頂點指向右頂點的有向邊,如果沒有,那么我把這兩個點調換位置,一定可以得到另一個不同的拓撲序列。 

然而還有一個問題就是:必須寫出,一條一條讀入之后,讀入了第幾條邊的時候,該拓撲序確定。 我可以加一條邊判斷一次嗎,雖然感覺很麻煩,但是它就是很麻煩啊^_^#,而且low,而且low,而且low。他并沒有給出m的大小,其實仔細想一下復雜度,如果給的這m條都是不重復的,那最多也就是26*25條,Kahn的話,復雜度我感覺應該就是26個點,每個點25條出邊,也是25*26。乘在一起,一個測試實例復雜度大概就是422500,乍一看也不高啊。另一個問題是怎么判斷該無權有向圖,不存在有向環。即為DAG圖。注意也許該圖根本不連通。

注:不能用Bellman-Ford判斷一個圖是否存在正權環回路。

整整做了一整天,還是沒做出來。把所有后臺測試數據都找出來,就是有一組不對。明天改。還是代碼實現的問題,dfs、bfs要重新練。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一有一级毛片视频 | 国产91成人 | 国产一区二区精品在线观看 | 黄色免费不卡视频 | 欧洲精品久久久久69精品 | 精品国产一区二区三区四区在线 | 久久久久999 | 九九热精品视频在线 | 亚洲成人激情av | 久草免费新视频 | 日日影视| 日本羞羞的午夜电视剧 | 亚州精品国产 | 91久久精品一区二区 | 亚洲视频在线观看免费 | 久章草影院 | 欧美国产一区二区三区 | 一级毛片在线观看视频 | 黄色av电影在线播放 | 亚洲尻逼视频 | 九九夜夜| 在线91视频 | 久久蜜桃香蕉精品一区二区三区 | 久色成人网 | 国产精品伊人久久 | 激情综合网俺也去 | 91看片欧美| 4p嗯啊巨肉寝室调教男男视频 | 国产二区三区在线播放 | 99在线精品视频免费观看20 | 免费a级黄色片 | 久久99国产综合精品 | 日本aaa一级片 | 中文字幕在线观看网址 | 久久不射电影网 | 中文字幕在线观看免费视频 | 国产在线精品区 | 免费视频a | 欧美成人精品一区 | 国产成人精品免费视频大全最热 | 精品中文字幕在线观看 |