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

1436B - Prime Square

900

Quiz https://codeforces.com/contest/1436/problem/B AC https://codeforces.com/contest/1436/submission/96922880 My editorial it is different from official editorial, so I wrote. My solution is shown in the image below void solve(){ ll N; cin…

B - Putting Bricks in the Wall ~入口と出口なら管理しやすい~

Quiz https://codeforces.com/contest/1421/problem/B AC https://codeforces.com/contest/1421/submission/96783516 解説 左上を00で囲む、右下を11で囲むなどできれば到達不可能にできる 左上を0,1のどちらで囲むか、右下を0,1のどちらで囲むかは初期状態…

C. Link Cut Centroids ~木の重心~

問題説明 重心が1つのみの木を作りたい。辺を1つ削除し、辺を1つ追加して新たな木としてよい時、それは可能。その操作(辺の追加・削除)を構築せよ Quiz https://codeforces.com/contest/1406/problem/C AC https://codeforces.com/contest/1406/submission…

codeforces __int128_t __int128 使えます

使った例 https://codeforces.com/contest/1409/submission/95368617 GNU C++17 (64) 2020/03頃に使えるようになった様子 verified (1500)D2. Magic Powder - 2 AC https://codeforces.com/contest/670/submission/100988928 私はこうしています using LL = …

1426C - Increase and Copy ~三分探索の嘘解法でAC~

Quiz https://codeforces.com/contest/1426/problem/C AC https://codeforces.com/contest/1426/submission/94974030 解説 +1する操作を先にするが、何回必要かを三分探索した +1の操作回数をx軸、N以上とするために必要な合計回数をy軸とすると下に凸の関数…

D - Teleporter ~ダブリングで再AC~

Quiz https://atcoder.jp/contests/abc167/tasks/abc167_d AC https://atcoder.jp/contests/abc167/submissions/17244023 その他 コンテスト中は周期を使って解いたが、こういうワープ系はダブリングで捉えるとより一般的 ということで解き直したらかなり簡…

(コスト付き)木の直径(by dfs) 復元付き

yosupo judgeでAC https://judge.yosupo.jp/submission/25877 直径のパスも求められる // 木の直径(コストあり) struct TreeDiameter{ vector<vector<PII>> G; // (to, cost) ll N; ll start,end; VI path; ll d; VI TO; // 初期化のみ TreeDiameter(ll n){ N=n; G.res</vector<pii>…

マンハッタン距離は45度回転させて考える(図示)X=x-y; Y=x+y

45度回転させる式は、X=x-y; Y=x+y (回転と同時にかかっている√2の倍率は無視します) 回転前のマンハッタン距離 = 回転後のチェビシェフ距離(座標の差の最大値) これで反時計回りに45度回転し、XY座標で2次元累積和を使うと解ける問題がある 例:ABC018 …

Range Query on a Tree ~木上の1点加算、根までの和~

Quiz http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_5_D&lang=ja AC http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=4879659#1 解説 辺に足すという操作は、葉側の頂点に足すと言い換えてOK get sumクエリが来たときは、指定された…