ブックマーク / qiita.com/kaityo256 (2)

  • Walker's Alias Methodの箱の作り方のわかりやすい説明 - Qiita

    はじめに 指定された重みに従って離散的な値を確率的に選択したい、ということがよくある。例えば[1,4,5]という配列が与えられた時、確率10%で0、40%で1、50%で2というインデックスを返すような関数が欲しい。 普通に考えると部分和をとって乱数を一度振り、どの場所が選択されたか二分探索で調べる、というアルゴリズムが思いつくが、これは要素数Nに対して$O(\log(N))$の手間がかかる。logの手間というのは無視できることが多いが、この関数呼び出しが頻繁にある場合には無視できないコストになる。 さて、こんな用途のためにWalker's Alias Methodというアルゴリズムがある。この手法は一度$O(N)$の手間で配列を作ってしまえば、後は$O(1)$でインデックスを選ぶことができる。 例えば重みとして[3, 6, 9, 1, 2, 3, 7, 7, 4, 8]という10個の要素を

    Walker's Alias Methodの箱の作り方のわかりやすい説明 - Qiita
    yag_ays
    yag_ays 2018/11/19
  • Wordさんは今日もおつかれです - Qiita

    TL;DR Wordは箇条書きを作る度に膨大な情報がコピーされ、それは元の箇条書きを消しても残る(Windows/Mac共通) Wordは文章を編集するたびに、中身が断片化する。一度断片化したら元には戻らない(Mac版のみ) 断片化、参照されていない箇条書き情報については「名前をつけて保存」しても解消しないが、「全て選択してコピー、新規作成したファイルに貼り付け」で解消する。 2018年9月19日追記 稿にはもともと「Windowsで作成したWordファイルをMacで修正すると断片化する?」という仮説が追記として掲載されていましたが、実際には「作成環境に関係なく、Mac版Wordで編集すると断片化する」ことがわかりましたので、後で読む方の混乱を避けるためにその追記を削除しました。 はじめに Wordファイルを扱っていて「だんだん重くなっていく」と感じたことはないだろうか。特に、代々引き継

    Wordさんは今日もおつかれです - Qiita
    yag_ays
    yag_ays 2017/01/10
  • 1