LightOJ 1140 計數 數字DP 入門

2022-05-20 10:52:43 字數 1023 閱讀 8321

**題意:** 給出a,b求區間a,b內寫下過多少個零

**題解:**計數問題一般都會牽扯到數字dp,dp我寫的少,這道當作入門了,dfs寫法有固定的模板可套用

dp[p][count] 代表在p位 且前面出現過count個零的方案數

/** @date    : 2016-10-27-17.26

* @author : lweleth ([email protected])

* @link :

* @version : $

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define mmf(x) memset((x),0,sizeof(x))

#define mmi(x) memset((x), inf, sizeof(x))

using namespace std;

const int inf = 0x3f3f3f3f;

const int n = 1e5+2000;

int dp[25][25];

ll bit[25];

//位置 前面零的數量 是否是數的最後一位 是否是零

ll dfs(int p, int cnt, int ima, int ipz)

if(!ima && !ipz)

dp[p][cnt] = ans;

//cout << ans << endl;

return ans;

}ll sol(ll x)

return dfs(len, 0, 1, 1);

}int main()

return 0;

}

count 數字計數 (數字dp)

給定兩個正整數a和b,求在 a,b 中的所有整數中,每個數碼 digit 各出現了多少次。input 輸入檔案中僅包含一行兩個整數a b,含義如上所述。output 輸出檔案中包含一行10個整數,分別表示0 9在 a,b 中出現了多少次。sample input 1 99 sample output...

ZJOI2010 數字計數 數字DP

給定兩個正整數a和b,求在 a,b 中的所有整數中,每個數碼 digit 各出現了多少次。輸入格式 輸入檔案中僅包含一行兩個整數a b,含義如上所述。輸出格式 輸出檔案中包含一行10個整數,分別表示0 9在 a,b 中出現了多少次。最簡單的數字dp的題目,可以對每個數字單獨做,拿數字1舉例。考慮dp...

BZOJ 1833 數字計數 數字DP

題目鏈結 做的第一道數字dp題,聽說是最基礎的模板題,但還是花了好長時間才寫出來。想深入了解下數字dp的請點這裡 先設dp陣列dp i j k 表示數字是i,以j開頭的數k出現的次數 有數字dp的題一般都會用到字首陣列,題目要求我們求b a這個區間裡各個數碼出現的次數,我們可以分別求出 0,b 和 ...