ごりちゃんがゆく

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

スニペット

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

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

ARC173-B Make Many Triangles の解法の思いつき方

コンテスト中解けるべきだったのに解けなかったので自戒を込めて記事にします atcoder.jp 問題概要 二次元平面上に相異なる個の点があるので、各点を回まで使って、三角形をできるだけ多く作ってください。何個作れますか? ぐらいです こう考えればよい! …

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

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

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

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

Pythonでheapqから大きい順に取り出したいときにもバグらせにくいやつを書いた

表題の通りです。 お気持ちを説明すると、ご存知 heapq は優先度付きキューと呼ばれていて、適当に要素を追加したり取り出したりしても常に取り出す値は最小を保っている便利なやつです。 しかも追加・取り出しはともにO(logN)でとても実用的! しかし欠点が…