問題
http://poj.org/problem?id=3254n*mのグリッドが与えられる。各要素は0または1であり、1のグリッドには物を置くことが出来る。隣接した二つのマスにものを置いてはいけないという制約下で、何通りの置き方があるかを答える問題。
解法
dp[i][bit] = i列目を状態bitで置いた時の置き方の場合の数
とするとO(2^(n+m))で解ける。
最初は0も連続してはいけないと勘違いしてて変なこと書いてた。
理論計算機科学 (Thoerotical Computer Science) の色んな定理やアルゴリズムを紹介していきます. 基本的には日本語の資料がほとんどないような知見を解説していきます. 執筆者: 清水 伸高 https://sites.google.com/view/nobutaka-shimizu/home
嬉しいことに 今年STOCに2本の論文を通せた のですが、そのうち一本は、XOR補題(の自然な拡張)をエントロピーを使って証明して、それをaverage-case fine-grained complexityのある数え上げ問題に応用した論文でした。XOR補題は計算量理論では80...
0 件のコメント:
コメントを投稿