hdu 3555 Bomb【数位DP】
2012-02-13 22:03
381 查看
第一次接触数位DP
#include<iostream> using namespace std; long long dp[20][3]={0,1,0},d[20][3]; int main() { for(int i=1;i<20;i++) { dp[i][0]=10*dp[i-1][0]+dp[i-1][2];//含49 dp[i][1]=9*dp[i-1][1]+8*dp[i-1][2];//不含49,最高位不是9 dp[i][2]=dp[i-1][1]+dp[i-1][2];//不含49,最高位是9 } d[0][0]=1; int t;cin>>t; while(t--) { int a[20],len,pre=0; unsigned long long n,ans=0; cin>>n;n++; for(len=0;n;n/=10) a[len++]=n%10; bool flag=false; for(int i=len-1;i>=0;i--) { ans+=dp[i][0]*a[i]; if(flag) ans+=(dp[i][1]+dp[i][2])*a[i]; if(!flag&&a[i]>4) ans+=dp[i][2]; if(pre==4&&a[i]==9) flag=true; pre=a[i]; } cout<<ans<<endl; } return 0; }
相关文章推荐
- hdu 3555 Bomb 数位dp
- [数位dp] hdu 3555 Bomb
- Hdu 3555 - Bomb (数位dp)
- 【数位DP】【HDU 3555】Bomb
- 动态规划晋级——HDU 3555 Bomb【数位DP详解】
- HDU 3555 Bomb (数位DP)
- hdu 3555 Bomb(数位dp)
- HDU 3555 Bomb ,HDU 2089 深刻学习数位dp (各种方法乱用)
- [HDU 3555] Bomb [数位DP]
- HDU 3555 Bomb(数位DP)
- HDU 3555 Bomb (数位dp)
- HDU 3555 Bomb(数位dp 深搜版)
- HDU 3555 Bomb 详解(数位DP入门题)
- 动态规划晋级——HDU 3555 Bomb【数位DP详解】
- hdu3555——Bomb(数位dp)
- HDU3555——Bomb(数位DP)
- HDU 3555 Bomb(数位DP)
- hdu 3555 Bomb 数位DP
- HDU 3555 Bomb(数位DP)
- hdu 2089 不要62 hdu 3555 Bomb (数位DP)