HihoCoder1076 與鏈(數字DP)

2022-04-30 14:54:11 字數 1071 閱讀 2276

時間限制: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 後的結果。

2

3 24 2

2

2

#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 我們一般都是從後往前推 列舉每次挑戰 列舉此時的狀態 列舉寶物是哪...