看範圍,狀壓沒毛病
但是如果隨便連的話給開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是解決多階段決策最優化問題的思想方法,但是有時候階段多了,維度多了,陣列也就爆了,因為雖然維度多,但是有些空間可能用不到,這就很浪費了,主要是維度多了處理麻煩很噁心 所以我們就把我們就把一...