在1<=l<=r<=1e9內,找出有多少個數mod(自己每一位數和)為0
顯然是數字dp,但是比較巧妙的是要,列舉mod,還有這個卡空間,不能直接return dp[pos][mod][digsum][digmod][limit],就是不要你乘以兩倍。。。可以令 dp[pos][mod][digsum][digmod]都為limit==0的時候就行了
注意要memset(dp,-1,sizeof(dp)),因為dp可能是等於0,要不然就會tle
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
int t,n,cnt,ans,dig[20]
,dp[11]
[82][
82][82
];intdfs
(int pos,
int mod,
int digsum,
int digmod,
bool limit)if(
!limit&&dp[pos]
[mod]
[digsum]
[digmod]!=-
1)int ans=0;
for(
int i=
0;i<=
9;i++)if
(limit==0)
return ans;
}int
work
(int x)
for(
int i=
1;i<=
81;i++
)return ans;
}int
main()
return0;
}
HDU3555 Bomb 題解 數字DP
題目大意 求 1,n 範圍內有多少數包含 49 解題思路 這個問題我們可以分兩種解法來考慮 第一種是求不包含 49 的數的數量,用後減一下 另一種就是直接求包含 49 的數的數量。這種方法我們先通過數字dp求出 0,n 區間範圍內有多少數不包含 49 假設數量為 x 然後可以得到答案為 n 1 x ...
題解 數字遊戲
the game is on.sherlock holmes 問題描述 遊戲是這樣的 在你面前有一圈整數 一共n個 你要按順序將其分為m個部分,各部分內的數字相加,相加所得的m個結果對10取模後再相乘,最終得到乙個數k。遊戲的要求是使你所得的k最大或者最小。例如,對於下面這圈數字 n 4,m 2 最...
AHOI2009 同類分布 題解(數字DP)
題目大意 求 l,r 中各位數之和能被該數整除的數的個數。0 leq l leq r leq 10 顯然數字dp。搜尋時記錄 pos 表示當前位置,sum 表示各位數字之和,st 表示原數,limit 表示最高位限制。如果有時間我會寫一篇部落格學習數字dp,希望不要咕咕 轉移自然是 dfs pos ...