• <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
            一本色道久久88精品综合 | 久久精品一区二区三区AV| 深夜久久AAAAA级毛片免费看 | 色综合久久夜色精品国产| 久久亚洲2019中文字幕| 97香蕉久久夜色精品国产| 久久99精品久久久久子伦| 久久香蕉国产线看观看乱码| 99久久国产综合精品成人影院 | 欧美久久久久久精选9999| 日本欧美国产精品第一页久久| 久久久亚洲欧洲日产国码是AV| 久久99国产精品久久久| 久久笫一福利免费导航 | 亚洲国产成人乱码精品女人久久久不卡| 亚洲精品无码久久毛片| MM131亚洲国产美女久久| 久久亚洲AV永久无码精品| 看久久久久久a级毛片| 久久亚洲精品无码播放| 久久r热这里有精品视频| 免费精品久久久久久中文字幕| 国产精品久久成人影院| 狠色狠色狠狠色综合久久| 性欧美大战久久久久久久| 日韩精品国产自在久久现线拍| 久久久精品国产免大香伊| 欧美伊人久久大香线蕉综合69| 国产精品久久久久久福利漫画 | 亚洲国产成人久久一区久久| 久久综合丝袜日本网| 久久久久亚洲av无码专区喷水| 欧美亚洲国产精品久久久久| 久久精品国产99国产精品| 久久亚洲欧美日本精品| 亚洲国产另类久久久精品黑人| 色综合久久夜色精品国产| 性欧美大战久久久久久久| 麻豆久久| 久久久久精品国产亚洲AV无码| 久久久久高潮综合影院|