当前位置: 首页 > news >正文

数位dp

数位dp

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;const int N=12;
int a[N];     //把整数的每一位数字抠出来,存入数组 
int f[N][N];  //f[i][j]表示一共有i位,且最高位数字是j的不降数的个数 void init(){  //预处理不降数的个数  for(int i=0; i<=9; i++) f[1][i]=1;  //一位数for(int i=2; i<N; i++)        //阶段:枚举位数 for(int j=0; j<=9; j++)     //状态:枚举最高位 for(int k=j; k<=9; k++)   //决策:枚举次高位 f[i][j]+=f[i-1][k];
}
int dp(int n){if(!n) return 1;              //特判,n==0返回1 int cnt=0;while(n) a[++cnt]=n%10, n/=10;//把每一位抠出来存入数组a      int res=0, last=0;            //last表示上一位数字for(int i=cnt; i>=1; --i){    //从高位到低位枚举 int now=a[i];               //now表示当前位数字           for(int j=last; j<now; j++) //枚举当前位可填入的数字  res += f[i][j];           //累加答案if(now<last) break;         //若小,则break                          last=now;                   //更新lastif(i==1) res++;             //特判,走到a1的情况 } return res;
}
int main(){init();     //预处理不降数的个数 int l,r;while(cin>>l>>r) cout<<dp(r)-dp(l-1)<<endl;return 0;
}
http://www.sczhlp.com/news/31089/

相关文章:

  • 做网站 分工百度推广营销
  • 深圳网站建设10086宁波seo推广优化公司
  • 网站上哪个做相片书好肇庆百度快速排名
  • 深圳东门老街在哪个区外贸建站优化
  • 怎么可以做赌博的网站网络推广优化网站
  • 004-Maven
  • 360驱动大师纯净版2.0.0.2000
  • 001-算法随记
  • Day3JDK的安装与卸载
  • 002-算法随记
  • 专业做鞋子的网站吗网站营销策划
  • 超轻粘土做动漫网站seo具体怎么优化
  • 做网站要会什么友情链接样式
  • 更新网站内容磁力链bt磁力天堂
  • 网站提示域名重定向怎么做sem竞价推广
  • 成都软件开发网站建设免费推广工具有哪些
  • wordpress 区块链模板百度seo优化是什么
  • 怎么做网站的教程免费隐私网站推广app
  • 001-HTML-CSS
  • 002-JavaScript
  • 003-Vue
  • 2025.8.23 闲话:C++ 空 STL 容器的内存占用问题
  • 阳江有哪些建站公司百度一下官网网址
  • 独立的外贸网站多少钱业务网站制作
  • 珠海网站建设科速互联今日军事新闻报道
  • 上海中学官网电脑版云南网络营销seo
  • 做网站采集什么文章好百度搜索风云榜手机版
  • php 手机网站 上传图片怎么在百度上打广告
  • 给别人做网站赚钱吗重庆seo代理
  • 注册公司域名后如何做网站青岛seo博客