• <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
            久久精品国产亚洲5555| 国产精品成人久久久| 国产91久久精品一区二区| 午夜欧美精品久久久久久久| 久久国产色AV免费看| 久久九九全国免费| 久久人人爽人爽人人爽av| 综合久久精品色| 精品乱码久久久久久久| 99久久国产亚洲高清观看2024| 久久久久免费视频| 国产精品一区二区久久不卡| 精品综合久久久久久88小说| 久久精品一本到99热免费| 精品精品国产自在久久高清| 久久精品国产色蜜蜜麻豆| 久久久久AV综合网成人| 99久久精品免费国产大片| 久久精品中文无码资源站| 久久av高潮av无码av喷吹| 2021精品国产综合久久| 中文字幕亚洲综合久久菠萝蜜 | 久久国产一片免费观看| 久久夜色精品国产噜噜亚洲AV | 久久只这里是精品66| 精品久久久久久国产| 久久人人爽人人爽人人片av高请| 久久夜色撩人精品国产小说| 99久久免费国产精精品| 久久久久se色偷偷亚洲精品av| 久久嫩草影院免费看夜色| 99久久婷婷国产综合精品草原| 久久99精品久久只有精品 | 久久久久这里只有精品| 97超级碰碰碰碰久久久久| 久久久久久久综合日本亚洲| 国产精品免费看久久久| 久久精品国产第一区二区三区| 性色欲网站人妻丰满中文久久不卡| 久久受www免费人成_看片中文| 国内精品久久久久国产盗摄|