2013/1/9に統数研チャンネルにて、ウェーブレット木の解説をしました。岩波書店より出版されました「高速文字列解析の世界」の解説になっています。
kyoupro_on_cpp.md C++初心者がC++を使って競技プログラミングするための備忘録のようなもの この記事は、C++ (fork) Advent Calendar 2013の12日目の記事です。 はじめに 記事を書く人が居ないみたいなので、C++初心者ですが箸休め的な記事を書こうと思い立ち、いざ書き上げてみたら思いの外長くなりました。 この記事は、C++初心者な著者が、C++を用いて競技プログラミングをするために、調べたことや試した事などのまとめです。 記事中に誤り、問題点やご指摘、ご質問等ありましたら、@rigibunまでご連絡下さい(特にpush_bach) githubのmarkdownを使いたかったことと、変更履歴が見られることからgistで書きました。 免責事項 著者はこの記事を利用することによって生じたいかなる損害等に対して責任を負いません。 この記事は競技プログ
DCL12-C. 抽象データ型は opaque な型を使って実装する 抽象データ型はオブジェクト指向言語であるC++やJavaに限られたものではなく、C言語でも、作成し使用されるべきものである。抽象データ型が最も効果を発揮するのは、プライベート(opaque)データ型や情報の隠ぺいを実現するときである。 違反コード 以下のコード例は CERT が開発した managed string library に基づく。[Burch 2006]この例では、managed string 型およびこの型に対して演算を行う関数が、以下に示す string_m.h ヘッダファイルで定義されている。 struct string_mx { size_t size; size_t maxsize; unsigned char strtype; char *cstr; }; typedef struct strin
3月1日の土曜日に、Boost.勉強会 #14 東京 : ATNDに参加してきた。 Boost.勉強会というのは、Boostを中心に据えて、C++関連の知識を発表しあう、すっかりプログラマーの間では定着した感のある「勉強会」のひとつだ。Boost.勉強会は、趣旨に賛同する各地のメンバーによって開かれているが、ここ東京では、IIJから部屋を借りて開くのが定着しているようだ。IIJの部屋は広いので、120人まで入れる。 せっかくドワンゴに雇われて、今年からフルタイムでC++の啓蒙活動をしているのだから、自己紹介と宣伝のために、なにか適当なドワンゴTシャツでも着ていくことを思いついた。ドワンゴTシャツぐらい、社内に転がっているだろうと探してみたが、あいにくと、今は超会議用のTシャツしかないそうだ。超会議用のTシャツは、運営スタッフ用のシャツで、ドワンゴの社名は入っておらず、また、大きく「運営」と
Random numbers are required in a number of different problem domains, such as numerics (simulation, Monte-Carlo integration) games (non-deterministic enemy behavior) security (key generation) testing (random coverage in white-box tests) The Boost Random Number Generator Library provides a framework for random number generators with well-defined properties so that the generators can be used in the
構造化プログラミング。 といえば、順次、分岐、ループのパターンからなる、シリアルプログラミングにおける基本スタイルですね。(これらだけしか使わなくてもシリアルプログラムは書けますっていうね) C++にはあらかじめこれらのパターンを簡単に使えるようにシンタックスが用意されています。 分岐はifやswitch、ループはwhile、for、doといったかんじで。 もちろんこれらのパターンは並列プログラミングでも使えます。 しかし並列プログラミングにおいては、これらのパターンだけで実装を行うことはほぼ不可能です。 そこで、並列プログラミングにおけるパターンとなる構造が考えられてきました。 これらを使うことで、よりパワフルかつ簡潔に並列プログラムのコードを書けるようになります。 1.マップ もっとも基本的な並列パターンです。 まず、コードを見てください。 template <class T> voi
C++言語入門 C++言語入門を書き換えてC++プログラミング入門を作りました。 C++言語で苦しんでいる人を対象に、C++プログラミングを学ぶ上で必要な最低限の事柄を収めました。説明を読んで、例題、練習問題をこなして行くうちに、自然にC++言語がマスターできるようにしたつもりです。しかし、C++は言語です。皆さんも経験しているように、言語を習得する最良の方法は、最初にちゃんとした構文を身に付けることです。C++言語の構文は基本的には、ループと呼ばれるものと制御構造だけです。これらを如何に組み合わせるかが難しいと感じてしまっている人のために、この中に登場するプログラムには、丁寧な解説をつけました。がんばって皆でC++をマスターしましょう。ここにはGUIが使えるVC++およびC++Builder4を用いたアプリケーション開発も紹介しています。 初めてC++言語を学ぶ人は1から順に進んでい
C++入門 基礎知識は仮定しません あなたは 人目のお客さんです。 ゆっくりしていってください。 C++入門1 プログラミングの基礎知識 C++入門2 coutを使った出力 C++入門3 cinを使った入力 C++入門4 オブジェクト指向について C++入門5 クラスを作ろう C++入門6 クラスを作ろう(補足) C++入門7 クラスの練習 C++入門8 コンストラクタの引数 C++入門9 クラス間の関係 C++入門10 乱数 C++入門11 while文とfor文 C++入門12 値を戻す関数 C++入門13 値を戻す関数の例 C++入門14 パブリックとプライベート C++入門15 継承 C++入門16 継承の練習 C++入門17 さらに継承 C++入門18 デストラクタ C++入門19 配列 C++入門20 ポインタ C++入
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く