タグ

algorithmとprogrammingに関するudzuraのブックマーク (8)

  • CodeIQで結城先生が出題されたCrossingが神がかっていた件 - やねうらおブログ(移転しました)

    CodeIQで挑戦者数が400人超えという異例の事態になったCrossingとはどんな問題だったのか。twitterでも恐ろしい勢いで拡散され、最終日に100人を超えるチャレンジがあった、この問題。一体どこにそんな魅力があったのかについて考えてみる。 まず、このように注目されるためには満たすべき条件が二つある。 繁盛する飲店を考えてもわかるように、まず美味しくなければならない。CodeIQで言うと、問題として良問でなければならない。解答後の達成感がなくてはならない。 次に、飲店なら、その店に入ってみようという気にさせなければならない。入りにくそうなお店でも、料理さえ美味しければその後口コミで広がることもあるだろうが、それだと繁盛するまでに時間がかかりすぎる。だからCodeIQで言うと、まず問題を解いてみようという気にさせなければならない。 このどちらが欠けても駄目である。この問題はこの

    CodeIQで結城先生が出題されたCrossingが神がかっていた件 - やねうらおブログ(移転しました)
  • セルオートマトンを用いたシューティングゲーム - Tosikの雑記

    セルオートマトン(以下 CA)を用いた自作シューティングゲーム(パニックシュータ)を公開します。 プレイ動画 YouTubeに動画をアップロードしました。横長になっちゃいました。 動作環境 Windows2000,WindowsXP。CPU使用率が高いので注意。 ダウンロード・実行 Panic Shooter(パニックシュータ) ダウンロードしたZIPファイルを解凍し、pshooter.exeを実行してください。 遊び方 やってみればわかる、を目指したので説明なしで遊べると思いますが、下は簡単なルールと操作法です。 緑色の自機をカーソルキーとスペースキーで操作します。青色の箱に入ったらステージクリアです。黄色いドットにぶつかるとライフが減ります。ライフが0になったら残念。全部で10ステージクリアできるかな? あれこれ 高校のころライフゲームなどのCAにはまってから、いつかゲームにしたいと考

    セルオートマトンを用いたシューティングゲーム - Tosikの雑記
  • ツイートID生成とツイッターリアルタイム検索システムの話

    「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、当のインサイトを見つけるUXデザインUXリサーチ

    ツイートID生成とツイッターリアルタイム検索システムの話
  • 逆FizzBuzz問題 (Inverse FizzBuzz) - 平々毎々(アーカイブ)

    just another scala quantを日語にしました。 ちなみに、私の解はこちらに。 最初の解答 はてブに書いた解答方針、Inverse Fizzbuzz (FizzBuzzの逆関数) - Qiita - 与えられた範囲内のすべての解を数え上げてます。 もっと簡潔な解答 逆FizzBuzz問題 解きなおし - Qiita それでは、問題の日語訳をどうぞ。 逆Fizzbuzz問題 2012年ではなく、2016年のお話。 世の中は大して変わっていない。 OOPと書き換え可能なオブジェクトによって何度もひどい目にあった後、世界はやっとのことでJohn Hughesの考察が正しかったことに気づき、関数型プログラミングに移行した。GoogleはTypesafe社を買収し、ScalaAndroid上でネイティブに動作するようになっている。Googleに負けず劣らず、AppleはHas

    逆FizzBuzz問題 (Inverse FizzBuzz) - 平々毎々(アーカイブ)
  • 食事する哲学者の問題 - Wikipedia

    事する哲学者の問題(しょくじするてつがくしゃのもんだい、Dining Philosophers Problem)とは、並列処理に関する問題を一般化した例である。古典的なマルチプロセスの同期(排他制御)問題であり、大学レベルの計算機科学課程にはほぼ確実に含まれている。 1965年、エドガー・ダイクストラは5台のコンピュータが5台のテープ装置に競合アクセスするという同期問題を提示した。間もなく、この問題はアントニー・ホーアによって「事する哲学者の問題」に変形して語られることとなった[1][2][3]。 5人の哲学者が事したり、考え事をしたりしている。彼らの前には、真ん中にスパゲッティの入った大きなボウルが置かれた丸い卓がある。その卓には5枚の皿が置かれ、皿と皿の間にフォークが1ずつ置かれている。(近年では、器を「フォーク」ではなく「箸」として紹介する例も見られる[4]。) 事す

    食事する哲学者の問題 - Wikipedia
  • 言語実装パターン

    目次 『言語実装パターン』推薦のことば 謝辞 前書き 第I部 さあ、構文解析に取りかかろう 1章 言語アプリケーションのいろは 1.1 全体のあらまし 1.2 パターンを一巡する 1.2.1 入力文の構文解析をする 1.2.2 木を構築する 1.2.3 木の走査をする 1.2.4 入力が意味する内容を見つけ出す 1.2.5 入力文をインタプリタで実行する 1.2.6 ある言語から別の言語へと変換する 1.3 アプリケーションを解体する 1.3.1 バイトコードインタプリタ 1.3.2 Javaバグ検出器 1.3.3 Javaバグ検出器其の弐 1.3.4 Cコンパイラ 1.3.5 Cコンパイラを活用した C++実装 1.4 パターンを選んでアプリケーションを組み上げる 2章 基的な構文解析パターン 2.1 句の構造を識別する 2.2 再帰的下向き構文解析器を構築する 2.3 文法 DSLを

    言語実装パターン
    udzura
    udzura 2011/12/13
    、、、またクールなブックがパブリッシュされようとしている
  • Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani

    udzura
    udzura 2011/11/30
    あとで落としとこう
  • - MYCOM BOOKS - プログラミングコンテストチャレンジブック

    ■内容紹介 現在、プログラミングコンテストは数多く開催されています。Google Code Jam、TopCoder、ACM/ICPCなどの名前を聞いたことがある人も少なくないでしょう。書で扱うのはそれらのような、問題を正確にできるだけ多く解くことを競うプログラミングコンテストです。 プログラミングコンテストは気軽に参加することができます。例えば、Google Code JamやTopCoderはインターネット経由でコンテストが行われるので、Webサイトでの登録を済ませ、決まった時間にコンピュータの前に居れば参加することができます。 しかし、プログラミングコンテストの世界は非常に奥が深く、経験を積んだプログラマーであっても良い成績を残すことは容易ではありません。プログラミングコンテストで勝つには、柔軟な発想力と幅広い知識を用いて問題を解くアルゴリズムを考え、それらを正確に実装しデバッ

    udzura
    udzura 2011/10/13
    今度買う本はこれにしようかなあ。 C++ だけどまあ、大丈夫かな…… 若者が書いている……
  • 1