已經沒辦法再簡單的狀壓dp入門練習

2021-08-02 08:22:18 字數 1168 閱讀 8362

題目:

有乙個n*m(n<=5,m<=1000)的棋盤,現在有1*2及2*1的小木塊無數個,要蓋滿整個棋盤,有多少種方式?答案只需要mod1,000,000,007即可。

例如:對於乙個2*2的棋盤,有兩種方法,一種是使用2個1*2的,一種是使用2個2*1的。

分析:此題由於n比較小,所以可以通過狀態壓縮,去搜尋每乙個狀態,然後根據前一列對後一列的影響,這樣我們只要求出第m+1列狀態為0的情況的個數,就是正解

accode:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

double pi = acos(-1.0);

const

double eps = 1e-6;

const

int inf = 0x3f3f3f3f;

const

int maxn = 100;

const

int mod = 1e9 + 7;

int t, n, m;

ll dp[1005][(1

<< 5) + 5];

void dfs(int i, int j, int state, int nex)

if ((state&(1

<< (j))) >0)

if ((state&(1

<< (j))) == 0)

if ((state&(1

<< (j))) == 0 && (j + 1

1<<( j + 1))) == 0))

}int main()

}cout

<< dp[m + 1][0] << endl;

return

0;}

很懶,沒辦法

你見過最不求上進的是什麼樣子?我見過的最不求上進的人,既不是學霸又不全算學渣。他們課聽的迷迷糊糊,作業做一些抄一些。想逃課又心存顧忌,行為也不公開對抗規範紀律。為現狀焦慮,又沒有毅力踐行決心去改變自己。三分鐘熱度,時常憎惡自己的不爭氣堅持最多的事情就是堅持不下去。對感情抱有渴望,又疲於用心追尋與經營...

SEO為什麼沒辦法快速見效

eo為什麼沒辦法快速見效,快來一起看一下吧 我們今天可以從原理上再聊聊幾個問題。這樣做,乙個方面既可以幫助老闆正確認識seo,及時調整企業的策略。第二個方面,也可以幫助seo人員在一種正確的環境中擴充套件seo的工作。seo從早前的不理解到後來把seo當成一種神話。seo並不是一種神技,不存在大家現...

沒辦法,SVD就講的這麼好

2 奇異值 下面談談奇異值分解。特徵值分解是乙個提取矩陣特徵很不錯的方法,但是它只是對方陣而言的,在現實的世界中,我們看到的大部分矩陣都不是方陣,比如說有n個學生,每個學生有m科成績,這樣形成的乙個n m的矩陣就不可能是方陣,我們怎樣才能描述這樣普通的矩陣呢的重要特徵呢?奇異值分解可以用來幹這個事情...