タグ

algorithmとC++に関するkgbuのブックマーク (3)

  • 累乗剰余のテスト - 西尾泰和のはてなダイアリー

    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って知らなかった。メモ。
  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • sparsetable - steps to phantasien t(2007-09-07)

    Matz日記 で紹介されている google-sparsehash を眺めてみた. ひさびさに Google 気分. :~/src/sparsehash-0.8 omo$ wc `find src/google/ -type f` 253 1348 10336 src/google//dense_hash_map 237 1309 9884 src/google//dense_hash_set 238 1244 9616 src/google//sparse_hash_map 223 1214 9245 src/google//sparse_hash_set 919 4776 37957 src/google//sparsehash/densehashtable.h 42 189 1187 src/google//sparsehash/sparseconfig.h 884 4642 371

    kgbu
    kgbu 2007/09/19
    google-sparsehashをRubyで書いてみたそうな
  • 1