ARC121E 解説: 包除原理と動的計画法を用いた解法
この問題は、「すべての要素が特定の条件を満たさない」ような場合の数え上げ問題であり、直接的に解くか、または「少なくとも1つの要素が条件を満たす」場合に包除原理を適用する方法があります。ここでは後者のアプローチを取ります。
(S(i)) を、「(i) 個の (k) について (a_k) が (k) に到達可能である」という条件を満たす順列の数と定義します。包除原理を使うと、以 ...
10月12日 23:04 投稿
Objective-CランタイムにおけるARCと参照カウントの内部実装:SideTableとweakテーブルの解剖
オブジェクトのメモリレイアウトと参照カウント
64ビットシステムにおけるオブジェクト構造
Objective-Cのオブジェクトは、内部的には以下のような構造体で表現されます。
struct objc_object {
isa_union_t isa;
};
ここでの isa は単なるクラスへのポインタではなく、ビットフィールド(位域)を利用した最適化された構造体です。これにより、クラス情報のみならず ...
10月3日 16:08 投稿
Objective-CとCore Foundation間でのToll-Free Bridgingと所有権の管理
Core Foundationフレームワークのデータ型(CFArrayRefやCFMutableDictionaryRefなど)を操作する際、そのインスタンスのメモリ管理はARC(Automatic Reference Counting)の自動管理対象外となります。したがって、開発者が明示的にCFRetainやCFReleaseを呼び出して所有権(Ownership)を制御する必要があります。
Objective-CのオブジェクトとCore Foundationのオブジェ ...
7月13日 19:20 投稿