題目大意:給定乙個區間[l,r],要求出在這個區間內的數字中不含62和4的數字個數。題目分析:數字dp模型。求出0..r和0..l-1的方案數。相減一下即可。考慮如何求方案數:
設dp[i][j]表示當前第i位狀態為j的方案數,則dp[i][j]+=dp[i-1][k].預處理完之後進行統計方案數。
#include#include#include#include#include#include#include#include#include#includeusing namespace std;
#define for(i,n) for(int i=1;i<=n;i++)
#define rep(i,n) for(int i=0;i=0;i--)
#define mem(a) memset(a,0,sizeof(a))
#define memi(a) memset(a,127,sizeof(a))
#define memi(a) memset(a,128,sizeof(a))
#define inf (2139062143)
#define phif (1000000006)
#define maxn (1000000+10)
typedef long long ll;
int dp[10][11],digit[15],l,r;
inline void calc() }}
inline int work(int num)
int ans(0);
digit[len+1]=0;
ford(i,len)
} if (digit[i]==4||(digit[i]==2&&digit[i+1]==6)) break;
} return ans;
}int main()
}
HDU2089 不要62 數字DP
problem description 杭州人稱那些傻乎乎粘嗒嗒的人為62 音 laoer 杭州交通管理局經常會擴充一些的士車牌照,新近出來乙個好訊息,以後上牌照,不再含有不吉利的數字了,這樣一來,就可以消除個別的士司機和乘客的心理障礙,更安全地服務大眾。不吉利的數字為所有含有4或62的號碼。例如 ...
Hdu2089 不要62 數字dp
include includeint dp 10 3 dp i 0 為位數小於等於i且不含62也不含4的數字的個數 dp i 1 為位數為i且首位為2且不含62也不含4的數字的個數 dp i 2 為位數小於等於i且含62或4的數字的個數 int digit 10 void er int wei in...
hdu 2089 不要62 (數字dp)
思路 用變數記錄吉利數,和最高位為2的吉利數還有不是吉利數的個數。code include include includeusing namespace std int dp 10 3 dp i j i表示位數,j表示狀態 dp i 0 表示不存在不吉利數字 dp i 1 表示不存在不吉利數字,且最...