デンソークリエイトプログラミングコンテスト2025(AtCoder Beginner Contest 413)に参加して、A, B, Cの3問のみ正解できました。
日本最強プログラマー学生選手権~Advance~ -予選- (AtCoder Beginner Contest 412)のC問題 Giant Dominoをコンテスト時間内に正解できなかったので、改めてチャレンジした。そして貪欲法で正解できた。
ユニークビジョンプログラミングコンテスト2025 夏(AtCoder Beginner Contest 411)に参加しました。今回はA,B,Cの3問を正解。C問題は、フリップする場所の隣を見ることで島の数を推定できることに気がついて、正解できた。
CodeQUEEN 2025 予選 (AtCoder Beginner Contest 410)に参加しました。今回は、A, B, Cの3問正解でした。B問題Reverse Proxyは毎回全スキャンで正解できたが、もう少しループ回数を減らせるように工夫を加えてみました。またC問題Rotatable Arrayでは、リングバッファーを思いつけたので比較的簡単に正解できました。
docker containerを守るために、fail2banで認証に失敗したアドレスからの接続を拒否するようにします。ここでは、fail2banのインストール方法と、設定、使用方法を説明します。
ABC409のC問題 Equilateral Triangleにチャレンジした。一周以上回った場所の指定されることがあるので円周で割った余り\(\mod{L}\)を点の位置として使い、辺の長さが\(\frac{L}{3}\)となっている点を探すことで正解できた。
ABC409に参加して、AとB問題のみ正解できた。B問題に手こずったので、問題を振り返る。問題の意図を正しく理解できなかったのと、二重ループを恐れすぎていたことが失敗。
公開されたVSCodeのDev Containerなら問題はないが、コンテナを自作するとIDのミスマッチが起こり/workspace
の読み書きが出来ない。これはローカルと同じIDのユーザがすでにbase imageにいるため。そこで、一般ユーザを全て削除することで解決した。またイメージを作成するときに指定したコンテナ内ユーザIDがローカルIDと異なっていると、パーミッションの問題は起きないが、イメージが肥大化する。そこでcompose.yaml
を使うことで、動的にコンテナ内ユーザIDを上書きしてローカルと同じIDでイメージを作成できるようにした。
ABC408のC問題 Not All Coveredをコンテストの時間内に正解できなかったが、解説にあった「いもす法 (imos法)」を使うとエレガントに正解できるとあったので、自分でも「いもす法 (imos法)」を実装してみた。
VSCodeでMarkdownをフォーマットするとき、prettierは括弧を使った数式のインライン表記をサポートしていない。変わりにmarkdownlintを使用する。Cloudflare PagesのHUGOは、標準では括弧を使った数式のインライン表記をサポートしない。ビルドシステムをV3に変更する必要がある。