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

P4999 烦人的数学作业

P4999 烦人的数学作业

大意

\([L,R]\) 的数字的数字和。(\(1\le L, R \le 10 ^ {18}\)

思路

首先,显然,数位 DP,很裸的一道题。

我们做如下定义 \(f[pos][sum][lim][zero]\) 为在 \(pos\) 下,当前数字和为 \(sum\),是否有限制,是否为前导 \(0\)

那么我们做记忆化搜索(正着太麻烦了,感觉还是搜索比较形象),于是每次只需要累加下一层的答案即可。

注意当前的位置能取到的值,如果没有 \(lim\) 的限制的话,那么直接取到 \(9\) 显然没有问题,但是如果有限制,只能取到和原数组这个位置的元素一样大的值,即 maxx = lim ? a[pos] : 9

代码

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;const int MOD = 1e9 + 7;
#define ll long long//pos sum limit zero
ll f[20][200][2][2];
ll a[20], len; ll dp(int pos, int sum, int lim, int zero){if(pos == len){return sum % MOD;}if(~f[pos][sum][lim][zero]){return f[pos][sum][lim][zero] % MOD;}int ans = 0;int maxx = lim ? a[pos] : 9;for(int i = 0;i <= maxx;i ++){int nw = (i == 0) && zero;ans = (ans + dp(pos + 1, sum + i, lim && (i == maxx), nw)) % MOD;}return (f[pos][sum][lim][zero] = ans) % MOD;
}ll solve(ll x){memset(f, -1, sizeof(f));len = 0;while(x){a[len ++] = x % 10;x /= 10;}reverse(a, a + len);return dp(0, 0, 1, 1);
}int main(){ll L, R, T;cin >> T;while(T --){cin >> L >> R;cout << (solve(R) - solve(L - 1) + MOD) % MOD << '\n';}return 0;
}
http://www.jsqmd.com/news/342889/

相关文章:

  • 【毕业设计】基于django+大数据平台的短视频推荐系统设计与实现(源码+文档+远程调试,全bao定制等)
  • K8s 部署Doris 高可用集群 - 指南
  • 大数据领域的创新应用案例
  • 大数据连接池配置:结构化数据访问优化
  • 【计算机毕业设计案例】基于数据可视化+协同过滤算法的个性化视频推荐系统基于django+大数据平台的短视频推荐系统设计与实现(程序+文档+讲解+定制)
  • 【赵渝强老师】国产金仓数据库的物理存储结构
  • 什么是铜包钢、锌包钢?核心作用是什么?二者核心区别的是什么? - 非研科技
  • C++网络创建---CURL与CURLcode数据类型
  • 动态DP(20260204)
  • dballgts01e01-1
  • 从文本到可视化:Java企业数据查询的智能进化之路
  • Java企业AI升级:高效文档处理与知识检索的核心路径 在数
  • 大学生就业避雷平台开发任务书
  • P1270 学习笔记
  • Daggr:介于 Gradio 和 ComfyUI 之间的 AI 工作流可视化方案
  • 北京上品极致产品设计有限公司:工业设计、产品设计、外观设计、结构设计、设备设计、仪器设计、机器人设计公司,全链条设计服务全景解析 - 海棠依旧大
  • 2026年郑州电加热咖啡豆烘焙机厂家专业推荐:燃气加热咖啡豆烘焙机、小型咖啡豆烘焙机、大型咖啡豆烘焙机、高端咖啡豆烘焙机 - 海棠依旧大
  • AI在生物领域「翻车」?复杂模型不如简单方法
  • 第四章 字符串part01
  • Python aiomysql,asyncio.run() insert into mysql asynchronously
  • 临床前研究中AI驱动的虚拟细胞模型
  • C++中的过滤器模式
  • Matthias Mann万万没想到单细胞蛋白质组学
  • 大数据计算机毕设之基于大数据技术的数据可视化食物营养分析及协同过滤推荐系统基于django+大数据平台的食物营养成分分析与推荐系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 边缘侧时序数据的选型指南:网络不稳定、数据不丢、回传可控——用 Apache IoTDB 设计可靠链路
  • C内存布局
  • 从选型到部署,实测 OpenTeleDB 在高并发更新场景下的真实表现
  • 基于大数据的美食推荐分析系统毕业设计任务书
  • [信息论与编码理论专题-19]:信息熵的量化,通俗易懂!
  • 寒假集训Week1