harryのブログ

ロードバイクとか模型とかゲームについて何か書いてあるかもしれません

バカ(俺)向け二分探索コードの書き方

  • なにこれ
  • 完全一致する値を探す
    • コード例?
    • コード例の問題点
  • 条件を満たす最大値を探す
    • 値を探す二分探索
    • 境界を探す二分探索
  • 条件を満たす最小値を探す
    • 値を探す二分探索
    • 境界を探す二分探索
  • 競プロの小手先テクニック
    • 変数名を少し工夫する
    • 「境界を探す二分探索」のコードを簡略化する
  • 例題
    • コレクション内を二分探索
    • 数値の範囲内を二分探索
    • 最大値/最小値を二分探索
  • まとめ
  • Appendix
    • 二分探索の計算回数表
    • base(left) と size による二分探索の実装
    • Rustの binary_search では match syntax が使われていないというお話
    • C++の lower_bound() と upper_bound()
  • 参考文献など

なにこれ

  • たまに競プロで二分探索を手書きする必要があるが、その度に境界の扱いが分からなくなる(バカ)。
  • のでまとめた。
  • アルゴリズム実技検定 公式テキスト[上級]~[エキスパート]編 には二分探索の章が20ページほど割かれており、この記事以上に詳細が書かれているかも?
    • まだ買ってない(欲しい)。
  • この記事のコードはすべてRustです。
    • Rustは 0-based indexing です。
続きを読む

Infinitas 六段からbeatmania IIDX CastHour 六段になるまでの話

前: beatmania IIDX BISTROVER 五段からInfinitas 六段になるまでの話 - harryのブログ
次: beatmania IIDX CastHour 六段からCS Gold 七段になるまでの話 - harryのブログ


結局AC五段からちょうど1年ぐらいでAC六段になった。本当に長かったなぁという感想。六段課題曲の練習しすぎで全部に癖が付いたりしたので余計に地力を上げる必要があったかもしれない…。

段位 合格日 戦犯曲
BISTROVER 五段 2021/03/29 だいたいこいつらのせい
「starmine(H)」
「NEW GENERATION -もう、お前しか見えない-(H)」
CS DD 六段
CS Gold 六段
2022/01/15 Sphere(H)」と
「Apocalypse ~dirge of swans~(H)」は
強敵でしたね…
Inf 六段 2022/01/27 だいたい「bloomin' feeling(H)」のせい
CastHour 六段 2022/03/23 だいたいこいつらのせい
Sphere(H)」
「Hurry Hurry(A)」
続きを読む

なぜ昔Jotai v1.0.0を採用しなかったのか

という昔話。

ネガティブな話をわざわざ文章化する意味を見つけられなかったけど、思い出話としてまとめた。昔話なので当時の認識が誤っている場合があるかもしれないけど、そのときの感想をそのまま書いておく。

tl; dr

  • Chrome開発者ツールのPerfomanceで正確な計測ができなかった(?)
  • デバッグツールがαだかβ版で、まともに動かなかった
  • atomのidが連番で、そもそもデバッグツールで各atomの状態を確認するのが困難だった
  • パフォーマンスチューニングの観点がRecoilと同じだった
    • Recoilで遅いコード(使い方)はJotaiでも遅く、逆もしかり
  • Recoilよりシンプルだが、Recoilも十分シンプル
  • 自分の場合、「ライブラリのサイズ」は選定基準としてのポイントが低かった
続きを読む

beatmania IIDX BISTROVER 五段からInfinitas 六段になるまでの話

前: 五段のままbeatmania IIDX BISTROVERが稼働終了した話 - harryのブログ
次: Infinitas 六段からbeatmania IIDX CastHour 六段になるまでの話 - harryのブログ


AC六段が倒せないままCSとInfで六段が取れてしまった回。五段になってから10か月が経過していて相当沼っている。。。

段位 合格日 戦犯曲
五段 2021/3/29 だいたいこいつらのせい
「starmine(H)」
「NEW GENERATION -もう、お前しか見えない-(H)」
CS DD 六段
CS Gold 六段
2022/01/15 Sphere(H)」と
「Apocalypse ~dirge of swans~(H)」は
強敵でしたね…
Inf 六段 2022/01/27 だいたい「bloomin' feeling(H)」のせい
続きを読む

beatmania IIDX低段位での乱常備(乱ノック)による地力上げに関する私見(独自研究)

  • はじめに
    • tl;dr
  • 本題
    • 練習では「正しい」動作を「繰り返し」行う
    • 地力を上げるための練習方法
    • 乱ノックによる地力上げの検討
    • どのように乱ノックを行うか
    • いつから乱ノックを始めるか
  • まとめ
  • 割とどうでもいい日記
  • 参考リンク

はじめに

ここでは低段位帯を初段~五段として、どんな時に乱常備/乱ノックによる練習をどうやればよいのか、という私見(独自研究)をメモしておきます。

■目的

  • 私の備忘録
  • 私の主観の提供
    • 「こんな考えの人もいるんだなぁ」という参考のため
  • とりあえず適当なことを書けば、専門家からより優れた考察が出てくるだろうという期待

■目的ではないこと

  • 低段位における乱ノックの推奨や否定
  • 内容の正確性や正当性の保証
    • 検証していないことや確証バイアスなどが含まれます

tl;dr

実施検討タイミング

  • 固定配置メインの練習で壁に当たったとき、それを乗り越える過程に「ミッシングリンク」を感じたとき
    • 現状の練習の延長線上に上手くなっている姿がイメージしにくい場合
    • 特定のレベル帯で停滞期間が続いた結果、そのレベル帯の曲全般に癖がつき始めた場合
  • 隣接同時押しを練習したいとき
    • 六段ボス「Hurry Hurry(A)」対策など
  • 運指の修正や変更をしたいとき
  • 乱ノックによる地力上げをやってみたいと思ったとき
    • 特に理由がなくても乱ノックを始めていい

実施方法

  • ランダム系オプションを使ってもある程度Easy/Normalゲージでクリアできるレベル帯や曲で行う
続きを読む

五段のままbeatmania IIDX BISTROVERが稼働終了した話

前: beatmania IIDX BISTROVER 四段から五段になるまでの話 - harryのブログ
次: beatmania IIDX BISTROVER 五段からInfinitas 六段になるまでの話 - harryのブログ


2021/3末に五段になったものの、六段に合格できないまま10月になり、BISTROVERが稼働終了してCastHourが始まってしまった。今まで昇段に4か月以上かかったことがなく、上手くなっても上手くなっても合格できる気がしないので、IIDXで初めて壁にぶち当たってる気がする。

五段合格後からBISTROVER稼働終了までにやってたことをまとめておく。

続きを読む

beatmania IIDX BISTROVER 四段から五段になるまでの話

前: beatmania IIDX Heroic Verse 三段からBISTROVER 四段になるまでの話 - harryのブログ
次: 五段のままbeatmania IIDX BISTROVERが稼働終了した話 - harryのブログ


四段までは思ってた以上にトントン拍子で合格できていたが、流石に五段は3か月みっちり修行コースになってしまった。

とはいえ四段の時点でLv9曲をプレイし始めていたので、自分が思ってたよりは時間かかってない気がする。

段位 合格日 戦犯曲
三段 2020/10/25 だいたい「Music is The Answer(H)」のせい
四段 2020/12/28 だいたい「QQQ(H)」のせい
五段 2021/3/29 だいたいこいつらのせい
「starmine(H)」
「NEW GENERATION -もう、お前しか見えない-(H)」
続きを読む