博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 2089 数位dp入门
阅读量:4329 次
发布时间:2019-06-06

本文共 1443 字,大约阅读时间需要 4 分钟。

题目链接:(不要62)[]

题解:f[i][j]表示长度为i最高位为j符合题意的个数。
根据题意可以推出状态方程;
 f[i][j]=

    if (j==4) f[i][j]=0

    else if (j!=6) f[i][j]=Σf[i-1][k] (k=0,1,2,3,4,5,6,7,8,9)

    else if (j==6) f[i][j]=Σf[i-1][k] (k=0,1,3,4,5,6,7,8,9)

然后用一个slove(int x)函数求出0到x的合法个数。具体过程看code

#include
#include
#include
#include
#include
#define pb push_back#define ll long long#define PI 3.14159265#define ls l,m,rt<<1#define rs m+1,r,rt<<1|1#define eps 1e-7const int mod=100;const int maxn=1e5+5;using namespace std;ll f[10][10];//f[i][j]int a[10];const int inf=0x3f3f3f3f3f3f3f;int n,m;void get_f(){ //for(int i=0;i<10)f[0][i]=1; f[0][0]=1; for(int i=1;i<10;i++) { for(int j=0;j<10;j++) { if(j==4)f[i][j]=0; else if(j==6) { for(int k=0;k<10;k++) { if(k==2)continue; f[i][j]+=f[i-1][k]; } } else { for(int k=0;k<10;k++) { f[i][j]+=f[i-1][k]; } } } }}ll slove(int x){ int pos=1; while(x) { a[pos++]=x%10; x/=10; } a[pos]=0; ll ans=0; for(int i=pos-1;i>=1;i--) { for(int j=0;j
>n>>m) { if(n==0&&m==0) { break; } cout<
<

转载于:https://www.cnblogs.com/lhclqslove/p/7954718.html

你可能感兴趣的文章
静态链接与动态链接的区别
查看>>
Android 关于悬浮窗权限的问题
查看>>
如何使用mysql
查看>>
linux下wc命令详解
查看>>
敏捷开发中软件测试团队的职责和产出是什么?
查看>>
在mvc3中使用ffmpeg对上传视频进行截图和转换格式
查看>>
python的字符串内建函数
查看>>
Spring - DI
查看>>
微软自己的官网介绍 SSL 参数相关
查看>>
Composite UI Application Block (CAB) 概念和术语
查看>>
ajax跨域,携带cookie
查看>>
阶段3 2.Spring_01.Spring框架简介_03.spring概述
查看>>
阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
查看>>
阶段3 2.Spring_01.Spring框架简介_04.spring发展历程
查看>>
阶段3 2.Spring_02.程序间耦合_3 程序的耦合和解耦的思路分析1
查看>>
阶段3 2.Spring_02.程序间耦合_5 编写工厂类和配置文件
查看>>
阶段3 2.Spring_01.Spring框架简介_05.spring的优势
查看>>
阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
查看>>
阶段3 2.Spring_02.程序间耦合_4 曾经代码中的问题分析
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
查看>>