{"blog_url":"https://enakai00.hatenablog.com/","width":"100%","author_name":"enakai00","description":"\u4f55\u306e\u8a71\u304b\u3068\u3044\u3046\u3068 atcoder.jp\u4e0a\u8a18\u306e\u554f\u984c\u3092\u30cd\u30bf\u306b\u3001Union-find \u306e\u89e3\u8aac\u3068\u3001Union-find \u306e\u7279\u5fb4\u3092\u5229\u7528\u3057\u305f\u5225\u89e3\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002 Union-find Union-find \u306e\u57fa\u672c\u7684\u306a\u5b9f\u88c5\u306f\u3053\u3061\u3089\u306b\u306a\u308a\u307e\u3059\u3002 group_parent = defaultdict(lambda:None) def create_group(x): global group_parent group_parent[x] = x return x def get_group(x): global group_parent p = group_parent[x] if p == None: retu\u2026","image_url":null,"author_url":"https://blog.hatena.ne.jp/enakai00/","title":"068 - Paired Information\uff08\u26055\uff09\u306e\u89e3\u8aac","height":"190","provider_url":"https://hatena.blog","url":"https://enakai00.hatenablog.com/entry/2021/09/06/103720","type":"rich","provider_name":"Hatena Blog","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fenakai00.hatenablog.com%2Fentry%2F2021%2F09%2F06%2F103720\" title=\"068 - Paired Information\uff08\u26055\uff09\u306e\u89e3\u8aac - \u3081\u3082\u3081\u3082\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_title":"\u3081\u3082\u3081\u3082","published":"2021-09-06 10:37:20","categories":[],"version":"1.0"}