**題意:** 給出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 和 ...