pyてよn日記

一寸先は闇が人生

AtCoder

ABC040: D - 道路の老朽化対策について

問題 考察 解法 問題をグラフの言葉に落とし込む 解法 補足:Union-Find の性質 問題 ABC040: D - 道路の老朽化対策について ABC040-D 基礎用語 グラフ:ノードとエッジからなる構造. 重み付きグラフ:エッジについて特定の値が付いているグラフ. 連結成分…

競プロ覚書:問題を解くときの方針

コンテスト時,問題に詰まった時に振り返ることをまとめました.

ABC011: C - 123引き算

問題 考察過程 解法 貪欲法を用いた解法 動的計画法を用いた解法(FIXME) 終わりに シミュレーション系の問題.愚直解しか思いつかずタイムアップ.正直この問題は解けないといけない問題だと思う. 問題 ABC011: C - 123引き算 考察過程 まず,「-1, -2, -…

競プロ覚書:Union-Find まとめ

Union-Find の大雑把に理解するための記事.

AtCoder Beginner Contest 120 振り返り

ABC120 の振り返り.「K番目に大きい数」と Union-Find の回.

AtCoder Beginner Contest 119 振り返り

A - Still TBD B - Digital Gifts C - Synthetic Kadomatsu 反省点 解法 問題のポイント 再帰(DFS)による解法 類題 D - Lazy Faith 解法 汚い解法(汚いのでちゃんとした解法を見たい方は綺麗な解法へ) 綺麗な解法 知見 問題を解く上での気持ち的な面 技術…

競プロ覚書:深さ優先探索,幅優先探索 まとめ

深さ優先探索(DFS),幅優先探索(BFS)のまとめ.実装のフレームワークを紹介.

AGC016: A - Shrinking

問題 解説 反省 参考 入力が小さいときは難しく考えず素直に全探索しましょうという問題.競プロの基本は全探索. 問題 AGC016: A - Shrinking 解説 editorial www.youtube.com 解説をそのまま引用.素直に解説の通りに実装すれば良い. 英小文字 c をひとつ…

AGC023: A - Zero-Sum Ranges

問題 思考過程 解法 知見 感想 参考 これ 200 点なの?という問題だった.難しい. 問題 AGC023: A - Zero-Sum Ranges 思考過程 制約から, O(N2) は無理.O(N) or O(NlogN) 以下で回す必要がある. 全探索は厳しそう. 累積和を使った区間の和を利用,計算…

ABC110: C - String Transformation

問題 思考過程 解説 補足:アルファベット,数字を「数値」に変換する 見当違いの解法で解けなかった.1 対 1 の関係が作れるかどうかという問題. 問題 ABC110: C - String Transformation 思考過程 WA だった実装は, S = "kd", T = "dd" S = "dd", T = "k…

競プロ覚書:std::map の使い方

競プロのための覚書です.std::map の基本的な使い方について簡単にまとめました.

競プロ覚書:二分探索,std::lower_bound を使いこなす

概要 二分探索とは アルゴリズム 計算量 C++ で二分探索を実装 実装 実装上の注意点 C++ 標準ライブラリで二分探索 std::binary_search() std::lower_bound() と std::upper_bound() 用法 std::lower_bound(),std::upper_bound() の活用 二分探索を行う 要…

ABC006 - C: スフィンクスのなぞなぞ

全列挙の計算量を工夫して落とす問題.Otoshidama っぽさのある問題.

AGC014 - A: Cookie Exchange

問題 思考過程 解説 整数系の問題を解くときの自分的方針 見当違いの考察で時間を溶かしてしまった整数?数学系?の問題.こういう問題解けるようになりたい.完璧には飲み込めていないが,似たような問題にぶつかったときにこの記事戻ってこれるように書き…

AGC005: A - STring

基本的なデータ構造である,「スタック」を利用するという解法を思いつけるかどうかという問題.

ABC113 - C: ID

二次元 vector を使ってハッシュテーブル様のデータ構造を実現する方法.

ABC049 - C: 白昼夢 / Daydream

問題 解説 場合訳ありのコード:WA 場合分けなしのコード:AC 反省 WA を取るための自分的方針 自爆して大変なことになった問題. 問題を解く上で勘違い,思い込み,先入観による WA は辛いよという話です.これらはコンテスト中になかなか気づけないと思う…

ABC033 - C: 数式の書き換え(オーバーフローに関する追記あり)

問題 解答 コード おわりに 追記:オーバーフローに関して ありがたいリプの数々:冪乗の計算結果が 0 になる?? 2 の冪乗に関する整数演算でのオーバーフロー:演算結果が 0 になるのはなぜか 追記まとめ WAを取るのに苦労したので投稿. ※ オーバーフロー…

C++:std::tuple を使いインデックス情報を保持しつつソートを行う

tupleの基礎とその利用例の解説.

ABC088: C - Takahashi's Information

Question Consideration Solution Reflection Refference C埋め始めました.水色(まだ緑でもないですが...)になるためのはっきりとした精進の方針が分かりませんが,まずはけんちょんさんの記事を進めていくことにしました.こういう記事は本当にありがた…

ABC014: B - 価格の合計

問題 考察 解法 補足:受け取った数字を 2 進数文字列に変換する方法 参考 B 埋め最後の問題.標準ライブラ<bitset>,<sstream>を初めて使った.これについてはいずれ基礎的なことをまとめたい. 問題 ABC014: B - 価格の合計 問題自体は優しいが 2 進数を理解して解けたらな</sstream></bitset>…

ABC017: B - choku語

問題 考察 解法 反省 参考 問題 ABC017: B - choku語 考察 問題が読めなかった.まず,語尾に ch,o,k,u ってついてればいいのかと思って簡単じゃんと考えたがどうやら違う.始めは問題の意味が分からなかった. 理解するために問題を一つ一つ読んで書いて…

ABC046: B - AtCoDeerくんとボール色塗り / Painting Balls with AtCoDeer

問題 考察 解法 反省 参考 問題 ABC046: B - AtCoDeerくんとボール色塗り / Painting Balls with AtCoDeer 考察 まず紙に書いて実験で分かったことは下記の通り.ボールの数,色の数をそれぞれ ,とする. ボールが 個のとき,色の数 がそのまま答えになる.…

ABC027: B - 島と橋

ABC060: B - 島と橋.解法考えて AC したとき自分は天才なんじゃねーかと思いました.

ABC026: B - N重丸

ABC026: B - N重丸 計算結果の出力精度に関する問題.

競プロ覚書:標準出力のパディング

標準出力のパディング AtCoder:パディングを使う問題 補足:STL を使わないでパディングを使う方法 参考 C++ の標準出力において,22 を 0022のようにパディング(ゼロ埋めや空白埋め)する方法をまとめました.競プロではほとんど使う場面はないですが,た…

C++:std::map の基礎

map の概要 map のデータ構造:2分木 mapの宣言と値の設定・取り出し map の全てのキーを取り出す AtCoder:mapを使った基本的な問題 参考 C++の標準ライブラリ(STL)std::map の基本的な使い方まとめ.競プロで使いそうなところをピックアップした. map …

CADDi 2018 Beginners: D - Harlequin

問題 自分の考察 解法 実験するときのポイント 反省点 リンク 問題 CADDi 2018 Beginners: D - Harlequin 自分の考察 まず、 のときを潰した。その次に、 のときを書き出した。 のときはサンプルにある通り。 のときを考えたときにパターンとして、 自分が引…

AGC029 A - Irreversible operation

問題 自分の考察 解法 問題 AGC029 A - Irreversible operation 自分の考察 書き出してみたら最終的にどんな文字列も、 WWW...BBB.. になることが分かった。 よって各 W の後ろに B が何個あるのか数えてその和を取れば良い。 一回一回和を取っていると TLE …

【灰色・茶色必見!】変数の型と扱える数の範囲 - オーバーフローとは?

変数の宣言・メモリの確保の基礎、オーバーフロー(桁あふれ)を解説しています。