QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#637273#6740. FunctionUESTC_DECAYALI#AC ✓463ms6076kbC++201.1kb2024-10-13 11:56:512024-10-13 11:56:51

Judging History

你现在查看的是最新测评结果

  • [2024-10-13 11:56:51]
  • 评测
  • 测评结果:AC
  • 用时:463ms
  • 内存:6076kb
  • [2024-10-13 11:56:51]
  • 提交

answer

#include<cstdio>
#include<iostream>
#include<cassert>
#include<unordered_map>
#define RI register int
#define CI const int&
using namespace std;
const int mod=998244353;
int n; unordered_map <int,int> g;
inline int G(CI n)
{
    if (g.count(n)) return g[n]; int ret=1;
    for (RI l=2,r;l<=n&&l<=20210926;l=r+1)
    {
        r=min(20210926,n/(n/l));
        (ret+=1LL*(r-l+1)*G(n/l)%mod)%=mod;
    }
    return g[n]=ret;
}
int main()
{
    scanf("%d",&n);
    /*for (int n=1;n<=1000;++n)
    {
        static int f[1005],g[1005];
        for (RI x=1000;x>=1;--x)
        {
            f[x]=1;
            for (RI k=2;k<=20210926;++k)
            {
                long long y=x*k;
                if (y>n) break;
                (f[x]+=f[y])%=mod;
            }
        }
        for (RI x=1;x<=1000;++x)
        {
            g[x]=1;
            for (RI k=2;k<=20210926;++k)
            {
                int y=x/k;
                if (y==0) break;
                (g[x]+=g[y])%=mod;
            }
        }
        assert(f[1]==g[n]);
        //printf("%d %d\n",f[1],g[n]);
    }*/
    return printf("%d",G(n)),0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3756kb

input:

1

output:

1

result:

ok 1 number(s): "1"

Test #2:

score: 0
Accepted
time: 0ms
memory: 4100kb

input:

2

output:

2

result:

ok 1 number(s): "2"

Test #3:

score: 0
Accepted
time: 0ms
memory: 4096kb

input:

100

output:

949

result:

ok 1 number(s): "949"

Test #4:

score: 0
Accepted
time: 0ms
memory: 4092kb

input:

10

output:

19

result:

ok 1 number(s): "19"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3808kb

input:

1000

output:

48614

result:

ok 1 number(s): "48614"

Test #6:

score: 0
Accepted
time: 0ms
memory: 3824kb

input:

10000

output:

2602393

result:

ok 1 number(s): "2602393"

Test #7:

score: 0
Accepted
time: 1ms
memory: 3844kb

input:

100000

output:

139804054

result:

ok 1 number(s): "139804054"

Test #8:

score: 0
Accepted
time: 3ms
memory: 3864kb

input:

1000000

output:

521718285

result:

ok 1 number(s): "521718285"

Test #9:

score: 0
Accepted
time: 14ms
memory: 4084kb

input:

10000000

output:

503104917

result:

ok 1 number(s): "503104917"

Test #10:

score: 0
Accepted
time: 77ms
memory: 4424kb

input:

100000000

output:

198815604

result:

ok 1 number(s): "198815604"

Test #11:

score: 0
Accepted
time: 459ms
memory: 5780kb

input:

1000000000

output:

373787809

result:

ok 1 number(s): "373787809"

Test #12:

score: 0
Accepted
time: 459ms
memory: 5820kb

input:

999999999

output:

997616263

result:

ok 1 number(s): "997616263"

Test #13:

score: 0
Accepted
time: 454ms
memory: 5752kb

input:

999999990

output:

997615701

result:

ok 1 number(s): "997615701"

Test #14:

score: 0
Accepted
time: 460ms
memory: 6072kb

input:

999999900

output:

993928691

result:

ok 1 number(s): "993928691"

Test #15:

score: 0
Accepted
time: 462ms
memory: 5788kb

input:

999999000

output:

754532207

result:

ok 1 number(s): "754532207"

Test #16:

score: 0
Accepted
time: 459ms
memory: 5784kb

input:

999990000

output:

996592686

result:

ok 1 number(s): "996592686"

Test #17:

score: 0
Accepted
time: 456ms
memory: 5820kb

input:

999900000

output:

311678722

result:

ok 1 number(s): "311678722"

Test #18:

score: 0
Accepted
time: 463ms
memory: 6076kb

input:

999000000

output:

60462624

result:

ok 1 number(s): "60462624"

Test #19:

score: 0
Accepted
time: 456ms
memory: 5768kb

input:

990000000

output:

444576800

result:

ok 1 number(s): "444576800"

Test #20:

score: 0
Accepted
time: 418ms
memory: 5868kb

input:

900000000

output:

95615129

result:

ok 1 number(s): "95615129"

Test #21:

score: 0
Accepted
time: 4ms
memory: 3844kb

input:

1361956

output:

813433539

result:

ok 1 number(s): "813433539"

Test #22:

score: 0
Accepted
time: 12ms
memory: 4036kb

input:

7579013

output:

677659797

result:

ok 1 number(s): "677659797"

Test #23:

score: 0
Accepted
time: 12ms
memory: 4044kb

input:

8145517

output:

801509527

result:

ok 1 number(s): "801509527"

Test #24:

score: 0
Accepted
time: 10ms
memory: 4004kb

input:

6140463

output:

869023935

result:

ok 1 number(s): "869023935"

Test #25:

score: 0
Accepted
time: 6ms
memory: 3964kb

input:

3515281

output:

989091505

result:

ok 1 number(s): "989091505"

Test #26:

score: 0
Accepted
time: 7ms
memory: 4048kb

input:

6969586

output:

539840131

result:

ok 1 number(s): "539840131"