時間限制:24000ms
單點時限:3000ms
記憶體限制:256mb
給定 n 和 k。計算有多少長度為 k 的陣列 a1, a2, ..., ak,(0≤ai) 滿足:
a1 + a2 + ... +ak = n。
對於任意的 i = 0, ..., k - 1 有 ai and ai + 1 = ai + 1。其中and是與操作。
第一行包含乙個整數 t - 測試資料組數(1 ≤ t ≤ 2)。接下來的 t 行,每行包含兩個整數 k 和 n (k ≤ 105, n ≤ 104)。
對於每組測試資料,輸出一行表示對應的答案。答案可能很大,輸出模 1000000009 後的結果。
23 24 2
22
#include#include#include
#include
#include
using
namespace
std;
const
int mod=1000000009
;int k,n,dp[10010][20
];int
main()
printf(
"%d\n
",dp[n][14
]); }
return0;
}
#include#include#include
#include
using
namespace
std;
const
int mod=1000000009
;int
k,n;
int dfs(int pos,int
sum)
int tmp=0
;
for(int i=0;i<=min(k,(n-sum)/(1
<)
return
tmp;
}int
main()
return0;
}
佔位 HihoCoder1317 跳舞鏈
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述小ho最近遇到乙個難題,他需要破解乙個棋局。棋局分成了n行,m列,每行有若干個棋子。小ho需要從中選擇若干行使得每一列有且恰好只有乙個棋子。比如下面這樣局面 其中1表示放置有棋子的格仔,0表示沒有放置棋子。對於上面這個問題...
hihocoder 1317 搜尋四 跳舞鏈
題目鏈結 題意 題解 dfs就能過吧.在選取的時候 把選取的這一行,佔據的列,列的權值 1 按列搜 在搜第col列的時候,前i 1列保證有且只有乙個行佔據著 如果選擇的某一行,在前col 1列有格仔 則不能選它 否則修改這一列以及這一列後面的列的權值 在搜某一列的時候,如果發現它的權值為1 則不用搜...
bzoj1076(概率與期望dp入門)
題目大意 給定k次彈出寶物的機會,每次隨機彈出n種寶物的機會,如果吃過這種寶物的所有前提寶物就可以吃這種寶物,求最優策略的期望得分 看到資料範圍果斷狀壓dp 不看資料範圍害死人 至於吃還是不吃 這是個問題 對於這種最優策略的期望dp 我們一般都是從後往前推 列舉每次挑戰 列舉此時的狀態 列舉寶物是哪...