• <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久久精品爆乳| 97香蕉久久夜色精品国产| 亚洲国产欧洲综合997久久| 97久久精品人妻人人搡人人玩| 国产精品永久久久久久久久久| 日本WV一本一道久久香蕉| 久久亚洲欧美日本精品| 97精品伊人久久久大香线蕉| 国内精品久久久久久久coent| 亚洲综合精品香蕉久久网| 国产精品欧美久久久久无广告| 亚洲国产另类久久久精品| 午夜精品久久影院蜜桃| 久久国产免费| 国产成人精品久久综合 | 精品九九久久国内精品| 伊人精品久久久久7777| 国产精品嫩草影院久久| 欧美一区二区精品久久| 久久99国产综合精品女同| 亚洲综合伊人久久大杳蕉| 亚洲欧美国产精品专区久久| 久久99精品九九九久久婷婷| 天天综合久久久网| 26uuu久久五月天| 777久久精品一区二区三区无码| 国产精品久久久久久久久| 久久噜噜电影你懂的| 人人狠狠综合久久亚洲88| 97久久超碰成人精品网站| 久久福利青草精品资源站免费| 国产成人无码久久久精品一| 午夜欧美精品久久久久久久| 久久久婷婷五月亚洲97号色| 久久午夜伦鲁片免费无码| 精品久久人妻av中文字幕| 久久97精品久久久久久久不卡| 一本久久久久久久| 久久无码一区二区三区少妇 | 麻豆久久久9性大片|