• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Uriel's Corner

            Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
            posts - 0, comments - 50, trackbacks - 0, articles - 594
            給出一個無向圖,里面有三種邊,1號邊只能讓Alice通過,2號邊只能讓Bob通過,3號邊兩人都可以走,問最多可以去掉圖中幾條邊讓兩人可以走通所有節點,并查集應用
            思路參考->https://leetcode.com/problems/remove-max-number-of-edges-to-keep-graph-fully-traversable/solutions/3468567 


             1 #1579
             2 #Runtime: 1874 ms (Beats 35.71%)
             3 #Memory: 63.1 MB (Beats 71.43%)
             4 
             5 class UnionFind:
             6     def __init__(self, n):
             7         self.parent = list(range(n + 1))
             8         self.cc = n
             9     def union(self, a, b):
            10         fa = self.find(a)
            11         fb = self.find(b)
            12         if fa == fb:
            13             return 0
            14         self.parent[fa] = fb
            15         self.cc -= 1
            16         return 1
            17 
            18     def find(self, a):
            19         if self.parent[a] != a:
            20             self.parent[a] = self.find(self.parent[a])
            21         return self.parent[a]
            22 
            23     def judge(self):
            24         return self.cc == 1
            25 
            26 class Solution(object):
            27     def maxNumEdgesToRemove(self, n, edges):
            28         """
            29         :type n: int
            30         :type edges: List[List[int]]
            31         :rtype: int
            32         """
            33         alice, bob = UnionFind(n), UnionFind(n)
            34 
            35         t = 0
            36         for a, u, v in edges:
            37             if a == 3:
            38                 t += alice.union(u, v) | bob.union(u, v)
            39             if alice.judge() and bob.judge():
            40                 return len(edges) - t
            41 
            42         for a, u, v in edges:
            43             if a == 1:
            44                 t += alice.union(u, v)  
            45             elif a == 2:
            46                 t += bob.union(u, v)
            47             if alice.judge() and bob.judge():
            48                 return len(edges) - t
            49 
            50         if not alice.judge() or not bob.judge():
            51             return -1
            52 
            53         return len(edges) - t
            久久久久99这里有精品10 | 日本久久久久久中文字幕| 色婷婷综合久久久久中文| 亚洲∧v久久久无码精品| 亚洲αv久久久噜噜噜噜噜| 精品综合久久久久久888蜜芽| 国产精品久久久久久久久鸭| 精品久久久久久久中文字幕| 久久人人爽人人爽人人爽| 看久久久久久a级毛片| 99久久国产综合精品五月天喷水| 久久精品国产色蜜蜜麻豆| 久久综合九色综合网站| 香蕉久久夜色精品国产小说| 欧美伊人久久大香线蕉综合69 | 7国产欧美日韩综合天堂中文久久久久| 久久精品国产精品亚洲人人 | 国内精品人妻无码久久久影院 | 国产精品九九久久精品女同亚洲欧美日韩综合区 | 亚洲&#228;v永久无码精品天堂久久 | 亚洲精品乱码久久久久久蜜桃| 久久综合久久自在自线精品自| 久久久久国色AV免费观看| 99久久精品日本一区二区免费| 一本大道久久香蕉成人网| 97超级碰碰碰碰久久久久| 97久久国产亚洲精品超碰热| 伊人情人综合成人久久网小说 | 色妞色综合久久夜夜| 久久国内免费视频| 久久人人超碰精品CAOPOREN| 久久久久久综合一区中文字幕| 亚洲精品国精品久久99热一| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久免费精品视频| 久久99亚洲网美利坚合众国| 久久久久青草线蕉综合超碰| 日韩久久无码免费毛片软件| 久久久综合香蕉尹人综合网| 久久久久香蕉视频| 久久午夜综合久久|