当前位置:网站首页>CodeForces - 628D (数位dp)
CodeForces - 628D (数位dp)
2022-08-10 11:32:00 【51CTO】
Consider the decimal presentation of an integer. Let's call a number d-magic if digit d appears in decimal presentation of the number on even positions and nowhere else.
For example, the numbers 1727374, 17, 1 are 7-magic but 77, 7, 123, 34, 71 are not 7-magic. On the other hand the number 7 is 0-magic, 123 is 2-magic, 34 is 4-magicand 71 is 1-magic.
Find the number of d-magic numbers in the segment [a, b] that are multiple of m. Because the answer can be very huge you should only find its value modulo 109 + 7 (so you should find the remainder after dividing by 109 + 7).
Input
The first line contains two integers m, d (1 ≤ m ≤ 2000, 0 ≤ d ≤ 9) — the parameters from the problem statement.
The second line contains positive integer a in decimal presentation (without leading zeroes).
The third line contains positive integer b in decimal presentation (without leading zeroes).
It is guaranteed that a ≤ b, the number of digits in a and b are the same and don't exceed 2000.
Output
Print the only integer a — the remainder after dividing by 109 + 7 of the number of d-magic numbers in segment [a, b] that are multiple of m.
Examples
Input
2 6 10 99
Output
8
Input
2 0 1 9
Output
4
Input
19 7 1000 9999
Output
6
题目大意:
求一个区间内某种数的个数,需要是m的倍数,并且奇数位不能包含d,偶数为必须包含d。数的位数是2000位。
思路:
首先是数位dp。
关于m的限制,直接便计算边取模就行。d限制,需要分奇偶讨论一下。
数的位数很大,需要用字符串,这样的话,闭区间,左边的数减一不好计算,需要特判一下。
代码:
边栏推荐
- 微信小程序,全局变量一个地方改变了其他地方的状态也跟着改变。
- If someone asks you about distributed transactions again, throw this to him
- 7. Instant-ngp
- 面试官:项目中 Dao、Service、Controller、Util、Model 怎么划分的?
- LeetCode 24. 两两交换链表中的节点
- 16. Getting Started with Pytorch Lightning
- ViT结构详解(附pytorch代码)
- 时间序列的数据分析(五):简单预测法
- 石墨文档打开文档时快速定位到上次写的位置
- LeetCode 362. Design Hit Counter(计数器)
猜你喜欢
Does your child lack self-discipline?Ape Counseling: Pay attention to "blank" in the schedule to give children more control
mpf6_Time Series Data_quandl_更正kernel PCA_AIC_BIC_trend_log_return_seasonal_decompose_sARIMAx_ADFull
If someone asks you about distributed transactions again, throw this to him
再有人问你分布式事务,把这篇扔给他
Nocalhost - Making development more efficient in the cloud-native era
16、Pytorch Lightning入门
Flutter气泡框实现
std::move()
Analysis of the implementation principle of UUID from the perspective of source code
OPNsense安装配置Zenarmor
随机推荐
Nocalhost - Making development more efficient in the cloud-native era
three.js模糊玻璃效果
Redis常用命令
Where can I view the version record of WeChat applet submission review history?
孩子自律性不够?猿辅导:计划表要注意“留白”给孩子更多掌控感
Licking Exercise - 58 Verifying Binary Search Trees
被面试官问到消息队列的丢失、重复与积压问题该如何回答
LeetCode 109. Sorted Linked List Conversion Binary Search Tree
苹果逆势扩大iPhone 14系列备货,总量或达9500万部
Microchip launched a high-performance 77GHz millimeter-wave radar chip, and has received tens of thousands of orders before mass production
LeetCode 146. LRU Cache
An enhanced dynamic packet buffer management. The core part of the paper
Introduction to Software Architecture
力扣练习——58 验证二叉搜索树
配置druid数据源「建议收藏」
力扣练习——61 根据字符出现频率排序
石墨文档打开文档时快速定位到上次写的位置
LeetCode50天刷题计划(Day 17—— 下一个序列(14.50-16.30)
Module 9 - Designing an e-commerce seckill system
search--01