bzoj 3195 奇怪的道路 狀壓dp

2021-08-04 12:42:01 字數 536 閱讀 9912

看範圍,狀壓沒毛病

但是如果隨便連的話給開1<<16,乘上n,m就爆了

所以規定轉移時只向回連邊

於是想狀態陣列:f[i][j]表示到i這裡i前k位的狀態為j(表示奇偶)

發現有條數限制,但是n,m,2^k都比較小,加一維,

f[i][j][k]表示前i位,用j條路,i前的k位狀態為j

轉移的話,因為1<=|u - v|<=k,

所以轉移時必須要保證轉移前一位能連到的最遠距離是偶數

然後在本位就向回依次連就好了。

#include

#define mod 1000000007

using

namespace

std;

int n,m,k,bit[12];

long

long f[35][35][515];

int main()

printf("%lld\n",f[n][m][0]);

return

0;}

奇怪的道路(狀壓)

時間限制 1 sec 記憶體限制 128 mb 小宇從歷史書上了解到乙個古老的文明。這個文明在各個方面高度發達,交通方面也不例外。考古學家已經知道,這個文明在全盛時期有n座城市,編號為1.n。m條道路連線在這些城市之間,每條道路將兩個城市連線起來,使得兩地的居民可以方便地來往。一對城市之間可能存在多...

奇怪的道路 狀壓DP

小宇從歷史書上了解到乙個古老的文明。這個文明在各個方面高度發達,交通方面也不例外。考古學家已經知道,這個文明在全盛時期有n座城市,編號為1.n。m條道路連線在這些城市之間,每條道路將兩個城市連線起來,使得兩地的居民可以方便地來往。一對城市之間可能存在多條道路。據史料記載,這個文明的交通網路滿足兩個奇...

狀壓DP 奇怪的東西

狀態壓縮動態規劃 簡稱狀壓dp 是非常典型的一類dp。他是利用二進位制來描述狀態的一種dp方式,大家都知道,dp是解決多階段決策最優化問題的思想方法,但是有時候階段多了,維度多了,陣列也就爆了,因為雖然維度多,但是有些空間可能用不到,這就很浪費了,主要是維度多了處理麻煩很噁心 所以我們就把我們就把一...