当前位置:网站首页>Cf1036c class numbers solution
Cf1036c class numbers solution
2022-07-06 07:29:00 【q779】
CF1036C Classy Numbers Answer key
Topic link :CF1036C Classy Numbers
The question : Define a number as “ Good number ”, If and only if its decimal representation does not exceed 3 3 3 A digital 1 ∼ 9 1 \sim 9 1∼9
for instance : 4 , 200000 , 10203 4,200000,10203 4,200000,10203 yes “ Good number ”, However 4231 , 102306 , 7277420000 4231,102306,7277420000 4231,102306,7277420000 No
Given [ l , r ] [l,r] [l,r], Ask how many x x x bring l ≤ x ≤ r l \le x \le r l≤x≤r, And x x x yes “ Good number ”
Altogether T ( 1 ≤ T ≤ 1 0 4 ) T(1 \le T \le 10^{4}) T(1≤T≤104) Group data , For each inquiry , Output an integer on a line to represent the answer
1 ≤ l i ≤ r i ≤ 1 0 18 1 \le l_i \le r_i \le 10^{18} 1≤li≤ri≤1018
General figures dp It can be used to solve ∑ i = l r f ( i ) \sum _{i=l}^{r} f(i) ∑i=lrf(i) The problem of ,
among f ( i ) f(i) f(i) As with the i i i A function or determinant related to the digits of
This question is slightly distorted , Then we will naturally record the occurrence of figures
set up f i , j f_{i,j} fi,j It means full i i i digit , Yes j j j A non 0 0 0 position
Using memory search , See the code for details.
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <iomanip>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
#define N (int)()
int num[25],f[25][5];
// u Indicates the current number of digits ,st Represents the current j,limit Indicates whether there is a high limit
int dfs(int u,int st,bool limit)
{
if(!u)return 1;
if(!limit&&f[u][st]!=INF)
return f[u][st]; // Memorize
int up=limit?num[u]:9,ans=0;
for(int i=0; i<=up; i++)
{
if(!i)ans+=dfs(u-1,st,limit&&num[u]==i);
else if(st!=3)ans+=dfs(u-1,st+1,limit&&num[u]==i);
}
if(!limit) f[u][st]=ans; // Just record what has no upper limit
return ans;
}
int solve(int x)
{
int len=0;
while(x>0)
{
num[++len]=x%10;
x/=10;
}
return dfs(len,0,1);
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
// freopen("check.in","r",stdin);
// freopen("check.out","w",stdout);
memset(f,0x3f,sizeof(f));
int Q;cin >> Q;
while(Q--)
{
int l,r;
cin >> l >> r;
cout << solve(r)-solve(l-1) << '\n';
}
return 0;
}
reference
[1] https://www.luogu.com.cn/blog/rated/solution-cf1036c
Reprint please explain the source
边栏推荐
- 智能终端设备加密防护的意义和措施
- 杰理之BLE【篇】
- Multi attribute object detection on rare aircraft data sets: experimental process using yolov5
- TypeScript void 基础类型
- word中把带有某个符号的行全部选中,更改为标题
- 【mysql学习笔记29】触发器
- Résumé de la structure du modèle synthétisable
- OpenJudge NOI 2.1 1661:Bomb Game
- Jerry's general penetration test - do data transmission with app Communication [article]
- C # connect to SQLite database to read content
猜你喜欢
Detailed explanation | detailed explanation of internal mechanism of industrial robot
Simulation of Michelson interferometer based on MATLAB
Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
Three no resumes in the software testing industry. What does the enterprise use to recruit you? Shichendahai's resume
NiO programming introduction
Jerry's ad series MIDI function description [chapter]
The way to learn go (I) the basic introduction of go to the first HelloWorld
软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历
Excel的相关操作
【mysql学习笔记30】锁(非教程)
随机推荐
You deserve this high-value open-source third-party Netease cloud music player
[JDBC] quick start tutorial
Leecode-c language implementation -15 Sum of three ----- ideas to be improved
Three no resumes in the software testing industry. What does the enterprise use to recruit you? Shichendahai's resume
Typescript variable scope
TS 类型体操 之 extends,Equal,Alike 使用场景和实现对比
JDBC学习笔记
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
jmeter性能测试步骤实战教程
Force buckle day31
[online problem processing] how to kill the corresponding process when the MySQL table deadlock is caused by the code
TypeScript接口与泛型的使用
Do you really think binary search is easy
Is the super browser a fingerprint browser? How to choose a good super browser?
The best way to learn SEO: search engine
CF1036C Classy Numbers 题解
烧录场景下的源代码防泄密方案分享
LeetCode Algorithm 2181. Merge nodes between zero
Typescript interface and the use of generics
word设置目录