QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#876905 | #9680. 数字变换 | orchardist | 24 | 1223ms | 141896kb | C++17 | 1.3kb | 2025-01-31 14:49:22 | 2025-01-31 14:49:29 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+40,mod=998244353;
int dps[45][N];
unordered_map<int,int> dp[5];
unordered_map<int,vector<int> >bigfac;
vector<int> fac[N+5];
int l,r,n;
int dfs(int x,int y){
if(dps[x][y]) return dps[x][y];
if(!x) return y==1;
int res=0;
if(y>1) (res+=dfs(x-1,y-1))%=mod;
(res+=dfs(x-1,y+1))%=mod;
for(auto i:fac[y])
(res+=dfs(x-1,y/i))%=mod;
return dps[x][y]=res;
}
int dfs1(int x,int y){
if(dp[x][y]) return dp[x][y];
if(!x) return y==1;
int res=0;
if(y>1) (res+=dfs(x-1,y-1))%=mod;
(res+=dfs(x-1,y+1))%=mod;
if(y>N){
if(bigfac[y].size()){
for(auto i:bigfac[y])
(res+=dfs(x-1,y/i))%=mod;
}
else for(int i=1;i*i<=y;i++)
if(y%i==0){
if(i>1){
(res+=dfs(x-1,y/i))%=mod;
bigfac[y].push_back(i);
}
if(i*i<y){
(res+=dfs(x-1,i))%=mod;
bigfac[y].push_back(y/i);
}
}
}
else{
for(auto i:fac[y])
(res+=dfs(x-1,y/i))%=mod;
}
return dp[x][y]=res;
}
int main(){
cin>>l>>r>>n;
for(int i=2;i<=min(N,r+n);i++){
fac[i].push_back(i);
for(int j=i+i;j<=min(N,r+n);j+=i)
fac[j].push_back(i);
}
for(int i=l;i<=r;i++){
int ans=0;
for(int j=0;j<=n;j++){
if(i<=1e6) (ans+=dfs(j,i))%=mod;
else (ans+=dfs1(j,i))%=mod;
}
cout<<ans<<' ';
}
return 0;
}
詳細信息
Subtask #1:
score: 6
Accepted
Test #1:
score: 6
Accepted
time: 6ms
memory: 27180kb
input:
1 10 3
output:
4 10 11 13 14 16 15 18 19 16
result:
ok 10 numbers
Test #2:
score: 6
Accepted
time: 3ms
memory: 27668kb
input:
1 10 10
output:
1446 3555 5399 8364 9365 13867 13268 18455 18559 22035
result:
ok 10 numbers
Test #3:
score: 6
Accepted
time: 1ms
memory: 28956kb
input:
1 10 1
output:
1 2 1 1 1 1 1 1 1 1
result:
ok 10 numbers
Test #4:
score: 6
Accepted
time: 2ms
memory: 28932kb
input:
4 9 10
output:
8364 9365 13867 13268 18455 18559
result:
ok 6 numbers
Subtask #2:
score: 18
Accepted
Dependency #1:
100%
Accepted
Test #5:
score: 18
Accepted
time: 1191ms
memory: 141692kb
input:
970000 1000000 40
output:
503190413 403501814 423543367 667735332 309717676 941521375 469059575 651585751 638081530 319769570 829344038 710448046 491906657 837995934 191992080 435477208 965318020 224310119 82608430 311469551 397529653 845900371 993051834 218739898 720518121 555742487 850145833 86074414 994934100 233037792 83...
result:
ok 30001 numbers
Test #6:
score: 18
Accepted
time: 1223ms
memory: 141896kb
input:
961235 991235 40
output:
726112142 872781888 864415992 271278585 161740406 328072996 78782063 87302065 34440839 496440232 20023252 186342396 764720954 729734275 738722871 935566953 929337897 876835483 50567341 207158528 584651187 436141466 570964468 351740029 722550019 982425596 33848740 853163527 651698124 526627241 675694...
result:
ok 30001 numbers
Test #7:
score: 18
Accepted
time: 407ms
memory: 65816kb
input:
222672 252672 40
output:
631342631 757879799 692055601 186757611 650530712 706722357 916976233 819581990 264205227 549042234 803974629 75845131 29698194 175213976 499651702 699984450 376334876 686068237 257396075 368343435 360038977 718193111 387980917 173929086 672211730 117954620 277698487 337486141 473242448 412398980 93...
result:
ok 30001 numbers
Subtask #3:
score: 0
Runtime Error
Dependency #2:
100%
Accepted
Test #8:
score: 0
Runtime Error
input:
4782535 4812535 40
output:
result:
Subtask #4:
score: 0
Wrong Answer
Test #11:
score: 0
Wrong Answer
time: 3ms
memory: 28580kb
input:
3000000000 3000000000 4
output:
result:
wrong answer Answer contains longer sequence [length = 1], but output contains 0 elements
Subtask #5:
score: 0
Skipped
Dependency #3:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%
Subtask #7:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
0%