題意有點繞,讀懂題意之後就是一道簡單計數狀壓dp。
大致題意:
給出一幅圖,要求計算從起點開始走到終點的(在題目特殊規則下統計的)路徑條數。
根據題意,一條路徑會被乙個複雜的公式分成0路徑和1路徑兩種,而題目則是要求到達終點的opt(opt為已給的0或1)路徑有多少。(opt為輸入資料)
#include
#define int long long
using
namespace std;
const
int n=
20,mod=
19260817ll
;int n,m,x,y,c,max_statue;
int a[n]
[n],sum[
1<;int ans,f[
1<[n][2]
;//f[p][i][0/1]:遍歷過的路徑狀態是p,當前點為i,當前的w值為0/1
signed
main()
scanf
("%lld"
,&c)
; max_statue=
(1ll
<-1ll
;for
(register
int p=
1; p++p)
f[1][
1][0
]=1ll;
for(
register
int p=
1; p++p)
for(
register
int i=
1; i<=n;
++i)if(
!(p&
(1ll
<<
(i-1ll))
))}for
(register
int p=
1; p<=max_statue;
++p) ans=
(ans+f[p]
[n][c]
)%mod;
printf
("%lld\n"
,ans)
;return0;
}
題解 洛谷P1738 洛谷的資料夾
一 目錄概覽 二 題目大意 三 大致思路 四 實現 五 剖析 六 總結回顧 kkksc03想好了很多應該有的資料夾路徑名。問題是,需要是使這些資料夾都存在,需要新建幾個資料夾呢?資料夾路徑是什麼?例如 a b c,表示在根目錄下有a資料夾,在a資料夾裡有b資料夾,在b資料夾裡有c資料夾。其他路徑同理...
洛谷P1738 洛谷的資料夾 Trie
給出nn 個目錄位址,為了使這些資料夾都存在,需要新建幾個資料夾?一眼看上去就是tri etri e。雖然暴力可過。這道題其實就是不用查詢的tri etri e。直接每次輸出這棵樹的節點數量就可以了。每次找到這個目錄的下乙個 取出這乙個資料夾的名稱,再在當前已找到的節點上尋找是否有這個資料夾,如果有...
洛谷P1803凌亂的yyy
快noip了,yyy很緊張!現在各大oj上有n個比賽,每個比賽的開始 結束的時間點是知道的。yyy認為,參加越多的比賽,noip就能考的越好 假的 所以,他想知道他最多能參加幾個比賽。由於yyy是蒟蒻,如果要參加乙個比賽必須善始善終,而且不能同時參加2個及以上的比賽。輸入格式 第一行是乙個整數n 接...