Ark's Blog

引っ越しました→ https://blog.arkark.dev/

ようこそ

ハル研究所プログラミングコンテスト2019 参加記

ハル研究所プログラミングコンテスト2019 に参加しました!

www.hallab.co.jp

結果は暫定9位 *1 でした!

賞金圏内に入れなかったのは残念ですが、記念品のプロコン2019オリジナル“カメデザイン”モバイルバッテリーがもらえそうでうれしいです。

https://github.com/ArkArk/competitive-programming/blob/main/src/HALLab-ProCon/hpc2019/demo/Total%20turn:%2055,818.gif?raw=true

*1:これから提出コードのチェックなどが行われ、11/8に正式な順位結果が発表されます。

続きを読む

全順序集合に対するimos法の拡張

AtCoder Beginner Contest 128のE - Roadworkで、imos法を拡張したアルゴリズムを思いついたのでメモ。

前提

  • imos法を知らない人はこちら
  • imos法は可換群に対して特定のクエリを高速に処理するアルゴリズム
  • 今回は全順序集合への拡張を考えた
続きを読む

Dockerで動くいい感じのLaTeX環境をつくった話

Docker上で動くいい感じのLaTeX環境をつくりました。

github.com

対象ディレクトリで

$ docker run --rm -it -v $PWD:/workdir -e USER_ID=$(id -u) -e GROUP_ID=$(id -g) arkark/latexmk

を叩くだけで*1、Docker上のlatexmkが動いてファイルの編集を感知したら自動コンパイルしてくれます。長いので.bashrcなどでaliasするといいです。

  • ホストでは適当なエディタとpdfビューワで、編集と閲覧
  • コンテナでは編集の感知→コンパイル
  • コンソール上ではコンパイル結果のlogを監視

といった使用方法を想定しています。

*1:2019/10/30:仕様に変更があったためコマンドを修正

続きを読む

max(∅)=-∞ は半群のモノイド化

全順序集合に思いを馳せながら寝たら思いついたネタを投げます。

導入

数学書かなにかで次のような記述を見たことがあるかもしれません。

 \mathbb{N}を正の整数全体の集合とする。

このとき、 A\subset \mathbb{N}に対して \max(A) := \text{「}A\text{のうち最も大きな値」}と定義する。

ただし、\max(\emptyset) = -\inftyとする


「ただし、\max(\emptyset) = -\inftyとする」

これ、特殊扱いしてるみたいで気持ち悪くないですか?

しかも、今回の場合は「\max(\emptyset) = 0」でも「\max(\emptyset) = -1」でも「\max(\emptyset) = -5000\text{兆}」でも問題ないです。要は ^\forall n \in \mathbb{N}, x \lt nを満たすxなら何でもいいです。

ただ、これを半群のモノイド化(1-添加と言うらしい?)と解釈したらスッキリしました。これについて以下にまとめます。

続きを読む