luogu P6239 奇怪的道路

2022-09-09 12:03:13 字數 669 閱讀 3941

奇怪的道路

我看不出來是狀壓的狀壓

好吧,其實看到k的範圍應該去往狀壓方面想的。

然後,題目中說「任何乙個城市都與恰好偶數條道路相連(0也被認為是偶數)」。

所以,奇偶,兩種狀態可以用0,1來表示,那就妥妥的狀壓了。

設 \(dp_\) 表示當前已經考慮了i座城市,j條道路,當前狀態為sta的方案數。

用0表示奇數,1表示偶數,為了防止轉移時出現問題,所以只轉移第i個城市的前k個城市,通過異或能夠將連邊的兩個城市由奇變偶,由偶變奇。

則有\[dp_=\sum_^\sum_^-1}dp_1^2^}

\]因為在轉移的時候,sta表示的範圍在發生變化,所以對於每乙個i都要再單獨處理一下

\[dp_=\sum_^\sum_^-1}dp_

\]code:

#include#define top 10

#define max 32

#define re register

namespace oma

signed main()}}

for(re int j=0; j<=m; j++)}}

printf("%d\n",dp[n][m][0]);

return 0;

}}signed main()

奇怪的道路(狀壓)

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

2017 7 26 奇怪的道路 失敗總結

做不出來主要是老想著用2 30存每個點的狀態,用0 1表示連邊奇偶,就被限制住了 實際上我們應該注意到k 8,這樣我們就只用記錄前k個 其實就是遞推的思路,每次加入乙個新點,列舉這個點與前k個點各種情況的連邊,再考慮連與不連有什麼影響 再就是不同點的轉移要注意保持合法性 注意狀態記錄從右往左,這是因...

奇怪的道路 JXOI2012

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