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

数字计数--数位dp

1.不考虑前导零

2.每一位计数,就是有点“数页码”的意思

P2602 [ZJOI2010] 数字计数 - 洛谷

相关题目:记得加上前导零

数页码--数位dp-CSDN博客

https://blog.csdn.net/2301_80422662/article/details/148160086?spm=1011.2124.3001.6209

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<int,int> pii;
ll n,k,m; 
vector<int> a,b;
ll dp[11][60];
ll dfs(int pos,int c,bool ismax,int id,vector<int> a,bool lead)///带考虑前导零的最全数位dp板子 
{if(pos==-1)///边界,return需要的答案,板子要改和灵活运用的地方 {return c;}int maxn;///选择上界 if(ismax) maxn=a[pos];else maxn=9;if(lead&&!ismax&&dp[pos][c]!=-1)///记忆化,lead=1即没有前导零 {return dp[pos][c];	} ll res=0;for(int i=0;i<=maxn;i++){if(i==id) res+=dfs(pos-1,c+(1&&(i||lead)),ismax&&i==maxn,id,a,lead||i);///考虑前导零就在lead这里写i||lead else res+=dfs(pos-1,c,ismax&&i==maxn,id,a,lead||i);}if(!ismax&&lead) return dp[pos][c]=res;///记忆化 return res;
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n>>m;n--; while(n){a.push_back(n%10);n/=10;}while(m){b.push_back(m%10);m/=10;}int p1=a.size()-1,p2=b.size()-1;for(int i=0;i<=9;i++){memset(dp,-1,sizeof(dp));ll a2=dfs(p2,0,true,i,b,0);memset(dp,-1,sizeof(dp));ll a1=dfs(p1,0,true,i,a,0);cout<<a2-a1<<" ";	}return 0;
}

相关文章:

  • 文章记单词 | 第113篇(六级)
  • 反向海淘物流难题如何破解?
  • 文章记单词 | 第105篇(六级)
  • 动态库和静态库详解
  • 从数学融智学视域系统地理解《道德经》:前三十七章,道法自然
  • C语言中的文件I/O
  • 单目视觉测量及双目视觉测量
  • 【软件安装】Windows操作系统中安装mongodb数据库和mongo-shell工具
  • 【AUTOSAR网络管理】T_NM_Timeout参数测试指南
  • 10G SFP+ 双纤光模块选购避坑指南:从SFP-10G-LRM到SFP-10G-ZR的兼容性与应用
  • 八股--SSM(2)
  • 【通用智能体】smolagents/open_deep_research:面向开放式研究的智能体开发框架深度解析
  • STM32 CubeMX时钟配置PWM信号输出
  • SOC-ESP32S3部分:8-GPIO输出LED控制
  • 辐射发射RE测试
  • 生成模型——扩散模型(Diffusion Model)
  • LoRA(Low-Rank Adaptation)
  • 从JDK 8到JDK 17的主要变化
  • 生成模型——Pix2Pix
  • 软件工程(八):UML类图的几种关系
  • 四川省建设监理协会网站/网站搜索优化公司
  • 济南网站建设 伍际网络/网站排名优化多少钱
  • 如何通过cpa网站做推广/八种营销模式
  • flash做网站的流程/seo技巧优化
  • 镇江网站搭建/南昌seo快速排名
  • php彩票网站开发/海淀区seo搜索引擎