hotaruの蛍雪日記

競プロとゲームをしています

2020-09-27から1日間の記事一覧

ダブリングを実装した

ダブリングを実装した。 ダブリングをクラス化したかったが、抽象化が足りないのかクラスを改造しないと解けない問題が出てしまった。 ダブリングについては先のリンクを読んでください。 https://atcoder.jp/contests/abc167/tasks/abc167_d D - Teleporter…

私の浮動小数点数を使わずにlog2nを求める関数

競プロでを計算したい。 浮動小数点数を使う(関数2)と誤差がでて危ない。 なので関数1でやる。 // 関数1 constexpr long long log2n(long long n) { long long log_n = 1; while ((1LL << log_n) < n) log_n++; return log_n; } // 関数2 constexpr long l…

気をつけよう!左シフトのオーバーフロー!

C++

なんですか ダブリング(doubling)を実装するときビット演算を書いていたら左シフト演算子でオーバーフローした。 どういうこと 競プロではビット演算をしたいことがある。 ビット演算ではある整数を2進数で表したときにi+1桁目が1かどうか(ある整数にi番目…