2019-10-01から1ヶ月間の記事一覧

D - 画像処理高橋君 ~2次元vectorを塗る paint~

Quiz https://atcoder.jp/contests/abc039/tasks/abc039_d AC Code https://atcoder.jp/contests/abc039/submissions/8144631 void paint(ll i, ll j, VV& G, ll v){ ll H = G.size(); ll W = G[0].size(); // 近傍8も塗る FOR(dx, -1, 2){ FOR(dy, -1, 2){ …

C - 座圧 ~座標圧縮 (直接書き換えVER)~

Quiz https://atcoder.jp/contests/abc036/tasks/abc036_c 解法 座標圧縮(座圧と呼ばれる)をするだけ AC https://atcoder.jp/contests/abc036/submissions/8143705 // 座標圧縮 // Aをそのまま書き換えるVER void compress(vector<ll>& A){ // 変換表 auto B =</ll>…

C - Synthetic Kadomatsu ~dfs 全探索~

Quiz https://atcoder.jp/contests/abc119/tasks/abc119_c AC Code https://atcoder.jp/contests/abc119/submissions/8134185 void dfs(VI V){ if(SZ(V)==N){ calc(V); return; } rep(i, 4){ V.push_back(i); dfs(V); V.pop_back(); } } 解法 各竹を0, 1, 2,…

ワーシャルフロイド 参照用 (クラスVerは最下)

// 隣接行列 ll d[100][100]; int main(){ // input ll N, M; cin >> N >> M; // 隣接行列の初期値。infにする rep(i, N){ rep(j, N){ if(i!=j) d[i][j] = inf; } } // 距離データ入力 rep(i, M){ ll a, b, c; cin >> a >> b >> c; a--; b--; d[a][b] = c; d…

タイル塗りとフィボナッチ : Tile Painting and Fibonacci

Quiz 1239A - Ivan the Fool and the Probability Theory https://codeforces.com/contest/1239/problem/A 縦横 n x mのタイルを”at most one adjacent cell of the same color”で塗る塗り方 AC Code https://codeforces.com/contest/1248/submission/630801…

C++の改行でendlは'\n'の20倍遅い

対象者 coutを使っている 確認コード 1466ms https://codeforces.com/contest/1220/submission/62112806 78ms https://codeforces.com/contest/1220/submission/62113199 差分 coutの改行でendlを使ったのが1番目、'\n'を使ったのが2番目 500000行ほど出力す…

B - The Number of Products

Quiz https://codeforces.com/contest/1215/problem/B Submission https://codeforces.com/contest/1215/submission/62082416 解法 dpのようにi番目まで考えた時の ansP (正の組み合わせ数) を考える A[]の値は+1, -1に単純化しておく 前から i まで見ていっ…

B - Graph Partition ~二部グラフ判定&"グラフの"直径(by WF)~

Quiz https://atcoder.jp/contests/agc039/tasks/agc039_b AC✅ (解法:二部グラフ判定&グラフの直径) https://atcoder.jp/contests/agc039/submissions/7879736 解法 解説放送の通り、二部グラフ判定し、二部グラフなら構成可能 構成可能な場合、グラフの…

A - Connection and Disconnection ~ランレングス~(文字列ver, 数値ver)

Quiz https://atcoder.jp/contests/agc039/tasks/agc039_a AC Code https://atcoder.jp/contests/agc039/submissions/7879593 ランレングス圧縮 (復元はできない) // ランレングス // 例 s = "aabccc" => [2, 1, 3] VI run_length(string s){ char prev = s[…

No.898 tri-βutree ~LCA~

LCA

Quiz https://yukicoder.me/problems/no/898 Submission https://yukicoder.me/submissions/387090 解法 editorialの通り dijkstraとLCAの過去コードをコピーペースト その他 全点間距離が必要?ワーシャルフロイド?制約的に無理・・・ と思ったけれどLCAを…

D - Menagerie

Quiz https://atcoder.jp/contests/abc055/tasks/arc069_b AC Code https://atcoder.jp/contests/abc055/submissions/7840056 解法 editorialの通り、添字0, 1の動物を決めてしまえば連鎖的に後ろが決まる 最後に整合性チェックをするのだが、私は最初、動物…

pのk乗はoverflowするか?

https://codeforces.com/contest/1228/problem/C この問題を解いていて、入力nが1018までなので、long longギリギリまで入力されうる pow(p, k)をナイーブに求めたらoverflowするし、modをとると正しく判定できない ということで判定関数を作った pk > 1018…

F - Pure ~ワーシャルフロイド・最小閉路・経路(パス)復元~

Quiz https://atcoder.jp/contests/abc142/tasks/abc142_f Submission https://atcoder.jp/contests/abc142/submissions/7805082 解法 ワーシャルフロイドを使った最小閉路の検出 algorithm - graph - How to find Minimum Directed Cycle (minimum total we…