{"published":"2011-02-24 21:00:28","blog_url":"https://a-kawashiro.hatenablog.com/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fa-kawashiro.hatenablog.com%2Fentry%2F20110224%2F1298548828\" title=\"SRM356 div2 hard - a_kawashiro\u306e\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","image_url":null,"title":"SRM356 div2 hard","version":"1.0","blog_title":"a_kawashiro\u306e\u30d6\u30ed\u30b0","description":"\u30cf\u30a4\u30d1\u30fc\u5b9f\u88c5\u30b2\u30fc\u3002\u89e3\u6cd5\u306f\u6700\u5c0f\u30b3\u30b9\u30c8\u6728\u306a\u306e\u3067\u30d7\u30ea\u30e0\u6cd5\u3002 #include <algorithm> #include <set> #include <string> #include <sstream> #include <queue> #include <vector> using namespace std; class UNIONFIND { public: vector<int> data; UNIONFIND(int size) { for(int i=0;i<size;i++) data.push_back(i); } int root(int a) { if(data[a]==a) \u2026","author_name":"a_kawashiro","width":"100%","type":"rich","provider_url":"https://hatena.blog","provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/a_kawashiro/","categories":["topcoder"],"height":"190","url":"https://a-kawashiro.hatenablog.com/entry/20110224/1298548828"}