ブックマーク / qnighy.hatenablog.com (6)

  • DPとは何か フィボナッチで - 簡潔なQ

    主に漸化式で与えられる問題を解くのに使われる動的計画法(DP)。 DPとメモ化再帰の定義を、フィボナッチ数列を計算するプログラムを例にして考える。 /* 「フィボナッチ 再帰バージョン」 * フィボナッチ数列を漸化式の通りに実装したもの * この計算ではO(1.618^N)つまり指数オーダーの時間がかかる */ #include <stdio.h> int fib(int n) { if(n==0)return 0; if(n==1)return 1; return fib(n-1)+fib(n-2); } int main(int argc, char **argv) { printf("%d\n", fib(10)); return 0; } /* 「フィボナッチ メモ化再帰バージョン」 * 計算結果を配列に保存するようにした再帰 * この計算では線形時間でできる */ #includ

    DPとは何か フィボナッチで - 簡潔なQ
  • ビット演算関連 - 簡潔なQ

    フラグとして使ったりするときに必須なやつ。 &で論理積 |で論理和 ^で排他的論理和 ~でビット反転 a|=bでフラグを立てる。 a&=~bでフラグを折る。 a^=bでフラグを反転。 シフト <<で左シフト。0で埋められる。 >>で右シフト。算術シフトか論理シフトかは決まってないらしい。 算術シフト:最上位ビットはシフト前のが継承されるので、負数も2でわった感じになる。 論理シフト:最上位ビットは0になる。 ちなみに手元のLinux(GCC4.3.4,x86)で試したら、signedは算術、unsignedは論理だった。まあさすがにunsignedが論理シフトは仮定していいと思うんだけどどうなんだろう。 ちなみに有名な話だが、シフトの性質上、算術右シフトは端数を負の無限大方向に切り捨てる。除算だと0方向に切り捨てる場合が結構あって、実際C99ではそういう仕様っぽいので、そこを区別する

    ビット演算関連 - 簡潔なQ
  • 中高生ターゲットに勉強会というかオフ会みたいのやりたい - 簡潔なQ

    中高生をターゲットに、IT勉強会っぽいのを開きたいと思った。 と思ったんだけど、勉強会みたいにテーマがあるわけじゃないので、オフ会っぽいのがいいっぽい。けどコーディングもしたい。 そしたら、Hack-a-thonの形式がいいんじゃねってid:daiki41tiがいってきた。 なるほど。 開催できるかしらないけど、とりあえず以下のようなものをやりたいということになった。 タイトル:「中高生があつまってHackathonするっぽいオフ(仮)」 目的:出会い系(悪くない意味で) 場所:東京近辺 ターゲット:高校生以下あたり。とくに僕より年下のみなさん。 会場:オリンピックセンター(代々木)でいいんじゃね。安いし。 やること 自己紹介 ライトニングトーク めし コーディング 時期・時間帯:完全未定 なお、僕の春休みは情報オリンピックや数学オリンピックや数研合宿やらでつぶれますので春休みのあいだは無

    中高生ターゲットに勉強会というかオフ会みたいのやりたい - 簡潔なQ
  • 同年代の凄い人々 - 簡潔なQ

    ネット上には、中学3年くらいでもう凄い人々がいっぱいいる。 簡潔にリストしておくことにした。 id:javascripter 中学3年。 JavaScriptとかRubyとかする人。 Web周りとかを主にやってるっぽい。 動的信者。 Mac使い。 今年度から勉強はじめてこれだから学習速度速い。 id:tazant 中学2年。 今はLispの処理系とOSを書いてるっぽい。 物理とか数学とか、かなり研究者っぽい?なので、コンピューターアーキテクトのほうに特に興味があるっぽい。 Ubuntuをメイン。 プログラミング歴はかなり長い。 id:Pasta-K 中学3年。 よくわからんがRubyの人? 使う言語はPHPで時たまJS(人談) どう考えてもWeb系な気がする。 ばりばりの勉強会クラスタ。 そのためかすごく大人びてる気がする。というかお兄さん系。 IOSYSとかハルヒとかで趣味があう可能性

    同年代の凄い人々 - 簡潔なQ
  • 実名を晒す? - 簡潔なQ

    んと、最近、実名を晒す場合と晒さない場合の違いがわからないと言うか、実名を晒すと何かが起こる気がしないというかそういう風に思うんですよ。 なぜかというと、僕の実名は、調べればわかるからです。今回のセキュリティ&プログラミングキャンプで、いろいろ自慢して回ったので、僕はすっかり有名人になっちゃいました。 手順 「qnighy」で検索する。 たとえばこんなのとかが引っかかる。 で、リンクをたどると、「情報オリンピックとかにも出ていたりする実力派」とかある。(自慢) で、まあ最近の情報を探ればいいから、第7回とか第6回の情報オリンピックの合宿招待者一覧(実名)を見ると、学年から推測して数人に絞れる。 で、あとはその名前で検索すれば、おおよそ推測がつくと。しかも入ってる部活までわかると。 結論 どうなんすかねえ。こんなに有名なのは僕だけなのかなあ(自慢)。それとも、すぐわかる所に張り出すのと探せば

    実名を晒す? - 簡潔なQ
  • 簡潔なQ

    概要: Rust2018以降、Rustのモジュールシステムは入門しやすく、かつマスターしにくくなりました。そこで記事では、その両方を達成することを目指しました。 モジュール入門 名前解決の役割と用語 モジュールグラフの構造 インポート解決 可視性 パス解決 名前解決とマクロ 記事は2017年に書いた記事 (https://qnighy.hatenablog.com/entry/2017/03/27/070000, https://qnighy.hatenablog.com/entry/2017/04/24/070000 ) と同じテーマで、Rust2018を考慮して改めてまとめ直したものです。 注意: 記事中のサンプルコードの多くは、Rustの細かい仕様や実装を調べるためのものであり、実際に有用なプログラミングパターンであるとは限りません。また、実質的にバグに近い挙動を説明しているも

    簡潔なQ
  • 1