タグ

programmingとc++に関するmasterqのブックマーク (3)

  • Spaghetti Source - 各種アルゴリズムの C++ による実装

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

  • GCC 4.4時代のC++プログラミング(C++プログラマーの受難な日々の巻) - このブログはURLが変更になりました

    C++プログラマーや各ディストリビューションのパッケージメンテナーは必見。GCC 4.4 + glibc 2.10でハマらない為のテクニック。 詳しくはリンク先を参照。執筆者は今のGentoo界を牽引する我らがリーダー、Diego E. “Flameeyes” Petten〓先生。 Flameeyes's Weblog : How _not_ to fix GCC 4.4 bugs ざっくり要約 #include <cstring> int main() { char *foo = strchr("ciao", 'a'); } は、GCC 4.3までは問題ないが、GCC 4.4だとエラーになるぜ。 error: invalid conversion from ‘const char*’ to ‘char*’でも決してこんな対策はすんな。目をつぶってるだけだ。 #include <cstri

    GCC 4.4時代のC++プログラミング(C++プログラマーの受難な日々の巻) - このブログはURLが変更になりました
    masterq
    masterq 2009/08/25
    つまり、型キャストはC言語流ではなくC++言語流でやれ、っつーことだ。
  • ウノウラボ Unoh Labs: diff with C++

    ミートソーススパゲティを作るときは、ミートソースから作るのが信条のbokkoです。それはさておき、今日はdiffのお話です。 diff diffは指定した2つのファイルの差分を求めるコマンド、もしくはその差分そのものを指します。普段から何気なく使用しているコマンドですが、その中で使われているアルゴリズムは結構難しいです。 差分を計算するということ 差分を計算するというのは以下の3つを求めることに帰結します。 ・Levenshtein Distance(Edit Distance) ・LCS(Longest Common Subsequence) ・SES(Shortest Edit Script) 上から順に1つずつ説明していきます。 Levenshtein Distance Levenshtein Distanceは2つのシーケンスの違いを数値化したもので編集距離とも言います。これは後述

    masterq
    masterq 2009/04/01
    差分抽出のアルゴリズムについて。 pythonにはdifflibがあるけど、rubyにはそんなんないのかな?
  • 1