尺取法ライブラリ 尺取法のPythonライブラリです。英語でTwo Pointersっていうらしいです。 数列のうち、ある条件を満たす部分数列を数え上げたり、最大の長さの部分数列を求めたりすることができます。 from copy import deepcopy from operator import add…
Imos法ライブラリ imos法のPythonライブラリです。 imos法はあるの区間に対して処理を行うクエリがたくさん与えられるときに使うアルゴリズムです。詳しくはいもすさんによる解説記事を見てください。 from itertools import accumulate class Imos: def __i…
二部探索ライブラリ 二部探索をしてくれるPythonライブラリです。 Pythonのbisectモジュールはソートされたリストにしか対応しておらず、単調増加関数に対する二部探索は自分で書く必要があります。 以前のものより小回りが利くようにクラスモジュールで定義…
階乗・順列・二項係数の剰余を求めるライブラリ 競プロでよく使うやつをライブラリ化しました。Moduloが素数でない時は上手く動きません。 class Factorial(): def __init__(self, mod=10**9 + 7): self.mod = mod self._factorial = [1] self._size = 1 sel…
JupyterLabとは JupyterLabは、Project Jupyterで次世代のWebベースのユーザーインターフェイスです。Jupyter notebookの後継として開発され、データサイエンティストの界隈では有名なアプリケーションです。ざっくりとPythonのIDEみたいな使い方ができます…
グリッド用ライブラリ 競プロでグリッド系の問題が出てとき、手間取りがちなのでライブラリにまとめました。 numpy実装でnumpy特有のスライスも対応してます。 np.allやnp.whereなどndarrayを引数にする関数を使いたい場合は、Grid.gridをお使いください() i…
追記(2020/07/15) 二部探索用コードはアップデートされました。 ⇨更新先サイト 二部探索デコレータ関数 二部探索用のPythonコードのメモ書きです。 デコレータを使っていい感じにしてます。 def bisect_search(l=0, r=10**6): def _bisect_search(f, l=l, …
プロンプトには通常ホスト名が表示されるようになっていますが、gitや仮想環境をつかっていたりしてごっちゃになったので、 自分用メモを残していきます。 # ~.bashrcに以下を記載 PS1=\[\e[32m\]\u\[\e[00m\]:\[\e[36m\]\w\[\e[35m\]$(__git_ps1)\[\e[00m\]…
ニュートンの運動方程式って知ってますか? \begin{align} \boldsymbol{F} &= m\boldsymbol{a} \\ &= m\boldsymbol{\ddot{r}} \\ &= m(\ddot{x}\mathbf{e}_x+\ddot{y}\mathbf{e}_y) \end{align} 非常に有名な物理法則です。直交座標表示になっていますがこれ…
物理(数学)で使われる記号・記法について簡単にまとめます。 書体 数学定数はローマン体 e.g. 数学関数もローマン体 e.g. 物理定数もローマン体 e.g. 変数はイタリック体 e.g. ベクトル定数はボールド体 e.g. ベクトル変数はボールドーイタリック体 e.g. …
数式を書くからには で書きたいところです。 [tex: \mathrm{\pi} = 3.1415926535] とやると と表示されます。 また、記事内で既に表記を使用していれば \begin{align} \mathrm{e} = 2.7182818284 \end{align}でも大丈夫なようです。 実際は次のように運用す…
初めまして、ヤブレカブレと申します。 ニコニコ動画( ヤブレカブレ - niconico(ニコニコ))で囲碁動画を上げているものです。 ここでは囲碁だけではなく、趣味全般についてアウトプットしていこうと思っています。 記事の内容は大体以下の通りです。 理系…