FZU 1025 狀壓dp 擺磚塊

2022-03-21 09:52:00 字數 778 閱讀 3637

這兩天想補動態規劃知識 就去fzu做專題 然後又碰到了 就認真的想並且去做了 

dp思想都在**注釋裡 

思想是很好想的..唯一的難點大概是 c++裡面沒有同或這種東西 得自己寫

而我又不怎麼會位運算 問了蕾姐半天也沒搞懂怎麼用~這個取反符號

到最後怒而手寫了函式 

一開始想的是 init後 輸入nm都可以秒出 但是在使用~的路途上 發現至少我的方法 做這個題 不能做到init後隨便輸入

因為 每行 都有(1《所以每個數 如果列舉不到m位 我就把它當作m位 這個設定 在qf(int x,int len)裡面

由於我需要輸入m後再進行init 那麼時間複雜度當然會比較高 limit:1000ms time:656ms 回頭我再去看別人的直接算的辦法

題目的錯點 long long dp %i64d

#include#include#include#include#include#includeusing namespace std;

/// 狀壓dp 傳說中黃老師講的擺磚塊

long long int dp[15][1<<12];

/// dp[i][k] i x k 狀態

int n,m;

int qf(int x , int len)

int res=0;

for(int i=1; i<=len; i++)

}return true;

}int len;

int sz[2000];

void ok()

}

狀壓dp 玉公尺田 狀壓dp

相關 強相關 327.玉公尺田 狀壓dp 小國王 狀壓dp 是井字形,本題是十字形。思路 狀態計算 時間複雜度 n 2 n 2n o n 22n 12 2 24n 2 n 2 n o n2 12 2 n 2n 2 n o n22n 12 224 看著妥妥超時,但是裡面合法狀態很少 依舊可以過 在此,...

狀壓dp小記

鋪磚 題意 現有nm的一塊地板,需要用12的磚塊去鋪滿,中間不能留有空隙。問這樣方案有多少種 include using namespace std typedef long long ll const int maxn 1 11 int n,m,state ll dp 15 maxn s1表示本行...

狀壓dp學習

p2704 炮兵陣地 1038 裁玻璃 狀壓dp是一種非常暴力的做法,列舉所有可能的狀態,找到要求的最佳狀態,與一般dp不同,前一項與後一項有一些複雜的狀態關係。dp的引數 物品個數 行數等 當前狀態 上乙個狀態 將abc的有無表示成乙個8個狀態,列舉所有組,列舉上乙個狀態,得到當前狀態的最優解 i...