zoukankan      html  css  js  c++  java
  • 数位dp之B-number

    HDU - 3652

    这道题的大致意思就是给你一个数n,让你去统计[1,n]之间含有13同时能够被13整除的数的个数。

    这是一道比较简单的数位dp的题。主要难点是如何去计算这个数是否能够被13整除,这里就用到mod。

    上一个位置余数*10加上这个位子的数去%13,最后只要判断这个余数是否等于0就可以了。

    具体代码如下:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 int a[20];
     7 int dp[20][20][3];
     8 /*
     9 dp[i][j][k] j表示余数
    10 k==0不包含13且不以1结尾
    11 k==1 不包含13且1结尾
    12 k==2 包含13
    13 */
    14 int dfs(int pos,int mod,int sta,bool lim){
    15     if(pos<=0)
    16         return mod==0&&sta == 2;
    17     if(!lim&&dp[pos][mod][sta]!=-1)
    18         return dp[pos][mod][sta];
    19     int up = lim ? a[pos] : 9;
    20     int ans = 0;
    21     for (int i = 0; i <= up;i++)
    22     {
    23         int mod1 = (mod * 10 + i) % 13;//计算余数
    24         int sta1 = sta;
    25         if(sta==1&&i==3)
    26             sta1 = 2;
    27         else if(sta==0&&i==1)
    28             sta1 = 1;
    29         else if(sta==1&&i!=1)
    30             sta1 = 0;
    31         ans += dfs(pos - 1, mod1,sta1, lim && i == up);
    32     }
    33     if(!lim){
    34         dp[pos][mod][sta] = ans;
    35     }
    36     return ans;
    37 }
    38 int solve(int x){//计算数各个位置上的值
    39     int pos = 0;
    40     while(x){
    41         a[++pos] = x % 10;
    42         x /= 10;
    43     }
    44     return dfs(pos,0, 0, true);
    45 }
    46 int main(){
    47     int r;
    48     while(~scanf("%d",&r)){
    49         memset(dp, -1, sizeof dp);
    50         printf("%d
    ", solve(r));
    51     }
    52 }

     祝各位大佬身体健康,ac愉快。

     1 /**********/**********/**********//**********//**********//**********//**********/  
     2 <!--
     3                        ::
     4                       :;J7, :,                        ::;7:
     5                       ,ivYi, ,                       ;LLLFS:
     6                       :iv7Yi                       :7ri;j5PL
     7                      ,:ivYLvr                    ,ivrrirrY2X,
     8                      :;r@Wwz.7r:                :ivu@kexianli.
     9                     :iL7::,:::iiirii:ii;::::,,irvF7rvvLujL7ur
    10                    ri::,:,::i:iiiiiii:i:irrv177JX7rYXqZEkvv17
    11                 ;i:, , ::::iirrririi:i:::iiir2XXvii;L8OGJr71i
    12               :,, ,,:   ,::ir@mingyi.irii:i:::j1jri7ZBOS7ivv,
    13                  ,::,    ::rv77iiiriii:iii:i::,rvLq@huhao.Li
    14              ,,      ,, ,:ir7ir::,:::i;ir:::i:i::rSGGYri712:
    15            :::  ,v7r:: ::rrv77:, ,, ,:i7rrii:::::, ir7ri7Lri
    16           ,     2OBBOi,iiir;r::        ,irriiii::,, ,iv7Luur:
    17         ,,     i78MBBi,:,:::,:,  :7FSL: ,iriii:::i::,,:rLqXv::
    18         :      iuMMP: :,:::,:ii;2GY7OBB0viiii:i:iii:i:::iJqL;::
    19        ,     ::::i   ,,,,, ::LuBBu BBBBBErii:i:i:i:i:i:i:r77ii
    20       ,       :       , ,,:::rruBZ1MBBqi, :,,,:::,::::::iiriri:
    21      ,               ,,,,::::i:  @arqiao.       ,:,, ,:::ii;i7:
    22     :,       rjujLYLi   ,,:::::,:::::::::,,   ,:i,:,,,,,::i:iii
    23     ::      BBBBBBBBB0,    ,,::: , ,:::::: ,      ,,,, ,,:::::::
    24     i,  ,  ,8BMMBBBBBBi     ,,:,,     ,,, , ,   , , , :,::ii::i::
    25     :      iZMOMOMBBM2::::::::::,,,,     ,,,,,,:,,,::::i:irr:i:::,
    26     i   ,,:;u0MBMOG1L:::i::::::  ,,,::,   ,,, ::::::i:i:iirii:i:i:
    27     :    ,iuUuuXUkFu7i:iii:i:::, :,:,: ::::::::i:i:::::iirr7iiri::
    28     :     :rk@Yizero.i:::::, ,:ii:::::::i:::::i::,::::iirrriiiri::,
    29      :      5BMBBBBBBSr:,::rv2kuii:::iii::,:i:,, , ,,:,:i@petermu.,
    30           , :r50EZ8MBBBBGOBBBZP7::::i::,:::::,: :,:,::i;rrririiii::
    31               :jujYY7LS0ujJL7r::,::i::,::::::::::::::iirirrrrrrr:ii:
    32            ,:  :@kevensun.:,:,,,::::i:i:::::,,::::::iir;ii;7v77;ii;i,
    33            ,,,     ,,:,::::::i:iiiii:i::::,, ::::iiiir@xingjief.r;7:i,
    34         , , ,,,:,,::::::::iiiiiiiiii:,:,:::::::::iiir;ri7vL77rrirri::
    35          :,, , ::::::::i:::i:::i:i::,,,,,:,::i:i:::iir;@Secbone.ii:::
    36 
    37 --
    38 
    39 
    40 /**
    41  
    View Code
  • 相关阅读:
    静态页转换平台(StaticPol)-静态页生成终极解决方案
    用DataSetSurrogate加速WebService
    压缩和解压缩数据流
    Stream 和 byte[] 之间的转换(转)
    优化网站性能 提高网站速度访问速度的14条实践(转)
    常用WebServices返回数据的4种方法比较
    .Net 中的序列化与反序列化
    对象序列化反序列化
    ASP.Net中自定义Http处理及应用之HttpModule篇
    利用UrlRewrite,asp.net动态生成htm页面
  • 原文地址:https://www.cnblogs.com/kitalekita/p/13392727.html
Copyright © 2011-2022 走看看