社区讨论
MLE是什么
P2602[ZJOI2010] 数字计数参与者 6已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @loclhri4
- 此快照首次捕获于
- 2023/10/30 15:45 2 年前
- 此快照最后确认于
- 2023/11/05 02:54 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
long long n,m,x[10],s[1000001][10],jg[2000005][10],w[1000001][10],v[10];
int y,z;
void js(int wa){
if(wa==0){
return;
}
x[wa%10]++;
js(wa/10);
}
int main(){
cin>>n>>m;
if(n>=1000000){
y=1;
}
else{
y=0;
}
if(m>=1000000){
z=1;
}
else{
z=0;
}
for(int i=0;i<=999999;i++){
js(i);
for(int j=0;j<=9;j++){
w[i][j]+=x[j];
}
}
//1000000之前的
for(int i=0;i<=9;i++){
x[i]=0;
}
for(int i=1000000;i<=1999999;i++){
js(i);
for(int j=0;j<=9;j++){
s[i-999999][j]+=x[j];
if(j==1){
s[i-999999][j]-=1;
jg[i-999999][j]-=1;
}
jg[i-999999][j]+=x[j];
}
}
//1000000之后的前6位
for(int i=0;i<=9;i++){
v[i]=x[i];
x[i]=0;
}
for(int i=1;i<=100000;i++){
js(i);
for(int j=0;j<=9;j++){
jg[i+999999][j]=v[j]+x[j];
}
}
for(int i=0;i<=9;i++){
if(y){
if(z){
cout<<(jg[m/1000000+1000000][i]+s[m%1000000][i])-(jg[n/1000000+1000000][i]+s[n%1000000-1][i])<<' ';
}
else{
cout<<(w[m][i])-(jg[n/1000000+1000000][i]+s[n%1000000-1][i])<<' ';
}
}
else{
if(z){
cout<<(jg[m/1000000+1000000][i]+s[m%1000000][i])-(w[n-1][i])<<' ';
}
else{
cout<<(w[m][i])-(w[n-1][i])<<' ';
}
}
}
return 0;
}
附上代码
回复
共 7 条回复,欢迎继续交流。
正在加载回复...