hdu 4734 F(x) --- 数位dp

2014-11-24 08:16:07 · 作者: · 浏览: 0


dp[pos][n]表示值<=n的 长度为pos位的数的个数


#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #include 
       
         #include 
        
          #include 
         
           #include 
           #define inf 0x3f3f3f3f using namespace std; int dp[20][200000],num[20]; int f(int n) { int tmp,cnt; cnt=0;tmp=0; while(n) { tmp+=(n%10)*(1<
           
            =0; if(!flag&&dp[pos][n]!=-1) return dp[pos][n]; int ans,p,i; if(flag) p=num[pos]; else p=9; ans=0; for(i=0;i<=p;i++) ans+=dfs(n-i*(1<