```
#include<bits/stdc++.h>
using namespace std;
long long l,r,dp[15][10][10];
void init(){
for(int i=0;i<10;i++) dp[1][i][i]=1;
for(int i=2;i<=12;i++){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
if(j==k) dp[i][j][k]=pow(10,i-1);
for(int z=0;z<10;z++) dp[i][j][k]+=dp[i-1][z][k];
}
}
}
}
long long work(long long num,int u){
if(num==0) return !u;
vector<int> c;
while(num){
c.push_back(num%10);
num/=10;
}
int last=0;
long long ans=0;
int len=c.size();
for(int i=len-1;i>=0;i--){
int x=c[i];
for(int j=(i==len-1);j<x;j++) ans+=dp[i+1][j][u];
ans+=x*last*pow(10,i);
if(x==u) last++;
if(!i) ans+=last;
}
for(int i=1;i<len;i++){
for(int j=(i!=1);j<10;j++) ans+=dp[i][j][u];
}
return ans;
}
int main(){
scanf("%lld%lld",&l,&r);
init();
for(int i=0;i<10;i++) printf("%lld ",work(r,i)-work(l-1,i));
return 0;
}
by YuRuochen @ 2022-08-23 12:42:50
这是2602的代码
by YuRuochen @ 2022-08-23 12:43:10
两份代码相差无几
by YuRuochen @ 2022-08-23 12:43:24
@[Neutralized](/user/538609) @[EastPorridge](/user/230865) @[__Ultimium__](/user/424089) @[Dr_Gilbert](/user/574568) @[Hoshino_kaede](/user/547908)
by YuRuochen @ 2022-08-23 12:44:54