QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#400054#8543. Periodic Sequencegrass8cowAC ✓960ms6744kbC++17829b2024-04-26 21:45:192024-04-26 21:45:20

Judging History

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

  • [2024-04-26 21:45:20]
  • 评测
  • 测评结果:AC
  • 用时:960ms
  • 内存:6744kb
  • [2024-04-26 21:45:19]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int n,mod;
const int B=500;
int f[201000],s[201000],ans[201000],g[200100];
void ad(int &x,int y){
    x+=y;if(x>=mod)x-=mod;
}
int main(){
    scanf("%d%d",&n,&mod);
    for(int k=1;k<=B&&k<=n;k++){
        f[0]=s[0]=1;
        for(int i=1;i<=n-k;i++){
            f[i]=s[i-1];
            if(i>k)ad(f[i],mod-s[i-k-1]);
            s[i]=s[i-1];
            ad(s[i],f[i]);
        }
        for(int i=k;i<=n;i++)ad(ans[i],s[i-k]);
    }
    memset(f,0,sizeof(f));
    for(int j=n;j>=0;j--){
        if((B+2)*j+(B+1)>n)continue;
        for(int k=B+1;j*(k+1)+k<=n;k++)ad(f[j*(k+1)+k],((j&1)?(mod-1):1));
        int z=0;
        for(int k=0;k<=n;k++)ad(z,z),ad(z,f[k]),f[k]=z;
    }
    for(int i=1;i<=n;i++)printf("%d\n",(ans[i]+f[i])%mod);
    return 0;
}

这程序好像有点Bug,我给组数据试试?

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 4708kb

input:

5 1000000007

output:

1
3
6
11
19

result:

ok 5 number(s): "1 3 6 11 19"

Test #2:

score: 0
Accepted
time: 958ms
memory: 6248kb

input:

200000 567894337

output:

1
3
6
11
19
33
57
100
177
317
573
1045
1919
3547
6592
12311
23091
43479
82153
155715
295983
564049
1077399
2062310
3955185
7598755
14622317
28179337
54379519
105071497
203254163
393607533
195106662
344669981
35619335
477103886
79913732
147415830
329955039
273123672
546045352
337527455
443978690
4597...

result:

ok 200000 numbers

Test #3:

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

input:

2000 1000000009

output:

1
3
6
11
19
33
57
100
177
317
573
1045
1919
3547
6592
12311
23091
43479
82153
155715
295983
564049
1077399
2062310
3955185
7598755
14622317
28179337
54379519
105071497
203254163
393607533
763000999
480458646
875091002
588152874
869906045
159506110
218346934
346224469
716986623
864678016
300921504
68...

result:

ok 2000 numbers

Test #4:

score: 0
Accepted
time: 959ms
memory: 6304kb

input:

200000 998244853

output:

1
3
6
11
19
33
57
100
177
317
573
1045
1919
3547
6592
12311
23091
43479
82153
155715
295983
564049
1077399
2062310
3955185
7598755
14622317
28179337
54379519
105071497
203254163
393607533
763000999
482213802
878601314
596928654
887457605
196364386
290308330
486636949
990790959
401755743
350504783
12...

result:

ok 200000 numbers

Test #5:

score: 0
Accepted
time: 960ms
memory: 6152kb

input:

200000 1000000009

output:

1
3
6
11
19
33
57
100
177
317
573
1045
1919
3547
6592
12311
23091
43479
82153
155715
295983
564049
1077399
2062310
3955185
7598755
14622317
28179337
54379519
105071497
203254163
393607533
763000999
480458646
875091002
588152874
869906045
159506110
218346934
346224469
716986623
864678016
300921504
68...

result:

ok 200000 numbers

Test #6:

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

input:

1 998244853

output:

1

result:

ok 1 number(s): "1"

Test #7:

score: 0
Accepted
time: 509ms
memory: 5640kb

input:

114514 1009999999

output:

1
3
6
11
19
33
57
100
177
317
573
1045
1919
3547
6592
12311
23091
43479
82153
155715
295983
564049
1077399
2062310
3955185
7598755
14622317
28179337
54379519
105071497
203254163
393607533
763000999
470458656
855091022
538152924
769906145
959506319
818347343
556225268
166988182
844681063
390927468
51...

result:

ok 114514 numbers

Test #8:

score: 0
Accepted
time: 960ms
memory: 6744kb

input:

199998 500000003

output:

1
3
6
11
19
33
57
100
177
317
573
1045
1919
3547
6592
12311
23091
43479
82153
155715
295983
564049
1077399
2062310
3955185
7598755
14622317
28179337
54379519
105071497
203254163
393607533
263000996
480458649
375091005
88152886
369906072
159506173
218347057
346224709
216987088
364678928
300923295
688...

result:

ok 199998 numbers

Extra Test:

score: 0
Extra Test Passed