ごりちゃんがゆく

競プロをするゴリラの精進記録

アルゴリズム

グラフの各連結成分が二部グラフかどうか解析するモジュールを書いた

ごり〜 こんばんは 唐突ですが、当ブログで一番アクセス数が多い記事は6年半前に書いたこちらなんですよね prd-xxx.hateblo.jp 今でも「二部グラフ 判定」などとググっていただけるとかなり上位にヒットして、ありがたいです 二部グラフの判定が必要になるこ…

(Python/PyPy) LowLinkを非再帰で実装しました!

お気持ち Python で LowLinkを写経してACしようとしたらTLEしちゃったんですがググって出てきたやつは大体再帰で書かれていて、非再帰のLowLinkはざっとみた感じは見つからなかったので、非再帰で書いてみました! 非再帰なので、PyPyで高速に動作すると思い…

ABC330-E Mex and Update を無思考で解けるライブラリを書いた

ごり〜 こんばんは 先日のABC330-E を無思考で解けるライブラリを書いてみたので、紹介させていただきます! 問題概要は、 配列Aと、クエリとして i と x が与えられるので、 クエリのたびに A[i] を x に変更し、配列AのMEXを出力してください といったもの…

「配列のすべての要素が条件を満たすならtrueを返す」関数に空の配列を渡したら?

今日のお話 こんなツイートが話題になっていましたね! 「配列のすべての要素が条件を満たすならtrueを返す」関数を定義するとき、空の配列を渡したらfalseを返すかtrueを返すかが、良いプログラマかどうかの一つの境目だ— ふみ a.k.a.DJ Monad (@fumieval) …

Pythonで各要素にO(1)でランダムアクセスできるdeque(両端キュー)を書いてみた

表題の通りなのですが、まず何が嬉しいかを説明します Pythonで、from collections import deque とすると、 deque モジュールが使えます これは、両端キューと呼ばれていて、両端の要素への追加や取り出しがいずれもでできるリストのようなものです これは…

2部グラフ判定問題

(2024/03/14 更新) 本記事で扱われているコードの上位互換となるコードを書きましたのでご確認ください グラフの各連結成分が二部グラフかどうか解析するモジュールを書いた - ごりちゃんがゆく 先日のコドフェで、2部グラフってのを扱う問題が出たので、勉…