matthew as a q.

競技プログラミングメイン

2020-01-01から1年間の記事一覧

std::setの使い方

問題 AGC 022 A問題。 A - Diverse Word 解法のポイントとsetの使いどころ 文字数が26文字のとき、後ろから見て最長の昇順文字列(接尾文字列)を取得し、最長の昇順文字列の1つ手前の文字より大きい中で接尾文字列に含まれる一番小さな文字を最後に付け足し…

clang-format on WSL on Windows with Visual Studio Code

この記事が助けになるかもしれない人 Windows 10上のVisual Studio CodeからWSLのUbuntuにremote接続して開発を行っている人が、clang formatを適用する。 適用方法 WSL上のUbuntuにclang-formatをインストールする必要がある。 sudo apt-get update sudo ap…

0 1 BFS

0 1 BFSとは betrue12.hateblo.jp 例題 D - Wizard in Maze 実装例 隣への移動はコスト0、ワープでの移動はコスト1なので、 隣への移動時はdequeの前に、ワープでの移動時はdequeの後に詰めることで、コストの低いところから探索を行うことができる。 ただし…

要復習リスト

ABC C - Repsept

Atcoder Beginner Contest 174(バチャ)

C問題 大きな数を扱うときに文字列として扱う以外の方法を学んだのでメモ。 等比数列として考える 今回のC問題のi番目は、 と書ける。 大きな数の除算 ABC174 C問題のEditorial より引用。 https://img.atcoder.jp/abc174/editorial.pdf などといった巨大な…

ダイクストラ法と経路復元

蟻本ベースにサンプルコードをきちんと書いたので、メモを残しておきます。 コード struct edge { public: int to; int cost; }; // O(|E|(log|V|)) void dijkstra(std::vector<int> &dist, const std::vector<std::vector<edge>> &graph, int s) { typedef std::pair<int, int> P; std::prior</int,></std::vector<edge></int>…

競技プログラミングtips(特定範囲の条件満たす要素数え上げ)

想定問題形式 「L以上、R以下の整数値のうち、条件にあてはまるものを数えよ。」というような形式を想定。 取り組み方 1..L-1、1...Rと分けて、(1..Rで条件を満たす数) - (1..L-1で条件を満たす数) として計算

ABC161

結果 3完(A, B, C)でした。 #ABC161, A:swap、B:整数除算にハマり4WA。次は移項して掛け算でやる。C: n,k大小で場合分けしたけど必要なかった。D:lunlun数の木を作ってBFS。 E、F:間に合わず— mato (@mmatthew_43) April 4, 2020 Dは方針合ってるも、間に合…

Offline端末にVisual Studio Code+MinGWでC++開発環境を構築する

これは何? インターネットに繋がらない環境に MinGWのgccコンパイラを使って Visual Studio Codeで C++の開発環境 を作るときに、時間のかかった箇所のメモ。 全体の流れ 以下の公式ガイドに従う。 code.visualstudio.com Visual Studio CodeのC++プラグイ…

field型の幅優先探索(ABC151 D Maze Master)

問題 D - Maze Master 提出 Submission #9662770 - AtCoder Beginner Contest 151 方針 各マス起点で幅優先探索し、たどれる箇所の距離のmaxを保存。 field型の幅優先探索をきちんと意識して初めて書いた気がする!

1月前半に学んだ英語フレーズ

練習方針 Listen to more English. とにかくまずは聞きましょう。聞いて知らない単語をメモしてリスト化しておきましょう。 speak and practice to use. リスト化した表現は、次の練習の際に使えるようにしてみよう。 Read aloud. 読むときは大きな声で言う…

Atcoder Beginner Contest 151参加記

結果 A B C D E F A - Next Alphabet B - Achieve the Goal C - Welcome to AtCoder D - Maze Master E - Max-Min Sums F - Enclose All AC AC AC - - - ■ ■ ■ - - - D maze master 全探索して最長となる距離を保存すれば良さそうとまでは思えたのですが、 …

doubleが整数かどうかの判定

doubleが整数になるかの比較方法を知らなかったのでメモ。 方法 以下のラムダ式を用意して使用。 auto isInteger = [](double x) -> bool { return std::floor(x) == x; }; 問題文 ABC133 B Good Distance 計算した距離が整数になる点の組み合わせを数える。…