hdoj 3555 數字dp,詳細注釋

2021-08-30 10:58:00 字數 449 閱讀 3988

數字dp可以解決類似這樣一道給你上下界,求裡面符合要求的數字,暴力肯定超時的.下面給出帶注釋的**

#include#includetypedef long long ll;

using namespace std;

ll dp[20][2];

ll dight[20];

ll dfs(ll len,bool if4,bool limit)//len代表數字,if4代表他的上一位是否是4,limit代表這一位是否處於上界狀態

if(!limit)

dp[len][if4]=cnt;//記憶化儲存

return cnt;

}ll cal(ll num)//位數分解

return dfs(k,0,1);

}int main()

return 0;

}

HDOJ 3555 不會按位DP的做法

今天做的一套去年whu出的多校聯合題.這道題糾結了好久才擠出來.去網上搜了下.大牛們似乎都是用的高階的按位dp.我等小菜就只能做屎的想賴推了.首先將每個位的表打出來.例如sum 3 1 代表100以下的有多少個包含49的數.sum 5 5 代表50000以下有多少包含49的數.首先要看10 k的su...

hdu 3555 數字dp入門

題意 給定乙個long long型別能夠存下的數字n,統計1 n之間含有49的數字的個數 思路 初始版本 需要記錄當前位置,前一位置放了那個數字,當前是否已經包含49,是否有上界這四個資訊,也就是dfs的四個引數。dfs pos,pre,istrue,limit 其實這種做法有點相當於把普通的數字d...

hdu3555 數字dp 入門

題目大意 給乙個數字n,範圍在1 2 63 1,求1 n之間含有49的數字有多少個。思路 狀態轉移 dp i 0 代表長度為 i 並且不含有49的數字的個數 dp i 1 代表長度為 i 並且不含有49,但是最高位是9的數字的個數 dp i 2 代表長度為 i 並且含有49的數字的個數。陣列 a i...