Machine Morning

機械学習やWebについて学んだことを記録しています。

2019-01-01から1年間の記事一覧

ビットフラグの判定

競プロの問題でビットフラグの判定の問題があった。 atcoder.jp ビットフラグの判定は初見だったので各桁が0か1かを文字列から取り出して判定したが、他の人の解答を見るとどうも自分の書き方はスマートではない。 ということでスマートなビットフラグの判定…

Rの出力結果をWordに貼り付ける

R

Rの出力結果をそのままwordにコピペすると、形式が崩れてしまいます。 しかし、Rの貼り付けた部分のフォントをConsolas、またはLucida Consoleに変更すれば形式が崩れません。 簡単に解決できますね。

フィボナッチ数列で動的計画法に入門する

無数にある同様の記事の二番煎じになってしまうが、自分でまとめたいのでご容赦を。Pythonでフィボナッチ数列を実装することで、動的計画法に入門することが目的。 フィボナッチ数列とは フィボナッチ数列とは、前の2つの数の和が次の数字となる数列のことで…

Pythonでリストを反転する

>>> [1, 2, 3, 4][::-1] [4, 3, 2, 1] >>> "apple"[::-1] 'elppa' リストまたは文字列を[::-1]すると反転する。

Pythonで桁数を指定して0埋めする方法

5桁の数字で余った位を0埋めする場合 例: 123 を 00123と表示する。 >>> print("{:05d}.format(123)") 00123 >>> print("{:05d}".format(12345)) 12345 >>> print("{:05d}".format(123456)) 123456 上は0埋め、5桁、decimal(10進数)。 4桁なら"{:04d}".forma…

karabinerで単体のcommandが効かなくなる問題の対処

karabinerで日英の入力切り替えをcommandに割り当てると単体のcommandが使えなくなり、他の単体commandによる操作が行えなくなる。筆者の環境ではcheetsheetというアプリを入れていて、command長押しがそのショートカットなっているが、karabinerが悪さをす…

C++入門

C++

最近競プロを始めたことに伴い、C++を勉強している。自分用のtipsとしてメモを残していく。細かい話は慣れてから再度調べるため、おまじないとして自分に言い聞かせている箇所がある。読者はあまり参考にしない方がいい。 using namespace std; using namesp…

Pythonのif __name__ == "__main__":とは

if __name__ == "__main__": __name__はモジュールの名前が入っている特殊な変数で、通常import hogeをしてモジュールを取り込むと、そのモジュールの__name__はhogeとなる。 例えば、 import numpy as np print(np.__name__) >>> numpy しかし、python hoge…

最小公倍数と最大公約数を求めるアルゴリズム

最小公倍数は最大公約数を使って簡単に求めることができるので、まず最大公約数を求める。 最大公約数 最大公約数を求める最も有名なアルゴリズムはユークリッドの互除法である。 wikipediaから引用すると、 2つの自然数a, b (a >= b)について、aのbによる剰…

Pythonで変数を動的に生成する

使う機会があるのかわからないが、変数を動的に生成する方法を紹介する。 基本的に辞書、または変数名が数字でいい場合は配列の方が使い勝手はよい。 for i in range(5): exec("var_{} = {}".format(i, i)) print(var_0) => 0 print(var_1) => 1 print(var_2…