• <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
            成人国内精品久久久久一区| 久久www免费人成看国产片| 久久亚洲精品国产精品| 99久久精品国内| 久久综合伊人77777麻豆| 中文字幕无码久久人妻| 国产美女久久久| 亚洲人成电影网站久久| 99久久精品日本一区二区免费 | 精品水蜜桃久久久久久久| 亚洲色欲久久久久综合网| 国产精品无码久久久久久| 久久亚洲国产最新网站| 一本一道久久精品综合| 国内高清久久久久久| 久久久黄片| 97久久精品人妻人人搡人人玩| 久久99九九国产免费看小说| 99久久国产免费福利| 精品久久久久久国产潘金莲| 久久99久国产麻精品66| 午夜精品久久久久久久无码| 韩国三级中文字幕hd久久精品| 99久久综合狠狠综合久久止| 久久精品国产第一区二区三区| 热RE99久久精品国产66热| 精品久久久久久无码人妻蜜桃| 久久精品国产半推半就| 精品久久香蕉国产线看观看亚洲| 日产精品久久久久久久性色| 精品多毛少妇人妻AV免费久久| 亚洲精品乱码久久久久久不卡| 狠狠色综合网站久久久久久久 | 国产呻吟久久久久久久92| 久久国产免费观看精品| 久久亚洲国产欧洲精品一| 91精品国产乱码久久久久久| 99久久久精品免费观看国产| 色偷偷888欧美精品久久久| 99久久国语露脸精品国产| 青青热久久综合网伊人|