タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとprogrammingとtestに関するkgbuのブックマーク (2)

  • 本当に1.5倍のほうがメモリ効率がよいのか - inamori’s diary

    C++のstd::vectorにpush_backしていくと、ある領域を確保して、それを超えそうになったらまたある程度ゆとりのある領域を確保するという機構になっています。 2倍だけじゃない - d.y.d. にまとめてありますが、std::vectorや類似するコンテナは2倍ずつ領域を大きくしていくのかと思いきや、1.5倍というのも多いんですね。実際にVC10 beta2で動かしてみると、 #include <iostream> #include <vector> int main() { std::vector<int> v; for(int i = 0; i < 100; i++) { const std::vector<int>::size_type old_cap = v.capacity(); v.push_back(i); const std::vector<int>::siz

    本当に1.5倍のほうがメモリ効率がよいのか - inamori’s diary
    kgbu
    kgbu 2010/07/24
    利用効率を実際にテストしてみた結果、あまり差はなく、むしろ2倍のほうが、コピー回数少ない利点があるのでは?、、ということらしい。母関数みたいなものを得ることはできるだろうか。
  • 累乗剰余のテスト - 西尾泰和のはてなダイアリー

    TopCoderとかでたまに出る「値が巨大になるのでNであまりを取って答えてね」のためにあまりを取る階乗とかを作って用意しておいた方がいいのかなー、なんてことをid:suztomoに話したらこんなサイトを教えてもらった: Spaghetti Source - べき剰余 で、今読んでいたんだけど、これって x * x がIntの上限を超えるときに powMod(x, 2) されても大丈夫なんだろうか。 というわけで試してみた。 int main(){ Int x = 1 << 30; DP(x); DP(x * x); DP(powMod(x, 2, 10)); DP(((x % 10) * (x % 10)) % 10); } 結果 x: 1073741824 x * x: 0 powMod(x, 2, 10): 0 ((x % 10) * (x % 10)) % 10: 6うん。正しい値

    累乗剰余のテスト - 西尾泰和のはてなダイアリー
    kgbu
    kgbu 2009/02/26
    C++のアルゴリズム実装repositoryとしてのSpagetti sourceって知らなかった。メモ。
  • 1