淡々

プログラミング関連を中心に、様々なことを適当に書きます

競技プログラミング

【競プロ典型90問】034 - There are few types of elements(★4)

概要・感想 尺取法ってのもなかなか思いつかなかったし、バグらせるしで大変だった。 [l, r]が各lに対する条件を満たす区間で最も長いものとなる。 提出コード n, k = map(int, input().split()) a = list(map(int, input().split())) da = {v: 0 for v in s…

【競プロ典型90問】003 - Longest Circular Road(★4)

概要・感想 解説を見たらなんかdfsを2回やればいいらしい。確かに…。 #include <bits/stdc++.h> using namespace std; vector<vector<int>> graph; vector<int> cand(0); int n; int dfs(int s, int p) { vector<int> path(1, 0); for (auto nxt: graph[s]) { if (nxt == p) continue; path.push_b</int></int></vector<int></bits/stdc++.h>…

【競プロ典型90問】012 - Red Painting(★4)

概要・感想 H x Wのマス目の上でUnionFindを行うという問題。問題の解法すぐに浮かんだが、ソラでUnionFindを書こうとしたら思いのほかバグを発生させてしまい、時間がかかった。 具体的には、UnionFind.merge()内のif a==b:部分を書き忘れていてどこが間違…