QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#817945#2809. Presentzhenjianuo2025100 ✓215ms14952kbC++203.0kb2024-12-17 15:05:142024-12-17 15:05:14

Judging History

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

  • [2024-12-17 15:05:14]
  • 评测
  • 测评结果:100
  • 用时:215ms
  • 内存:14952kb
  • [2024-12-17 15:05:14]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ins insert
#define era erase
#define lb lower_bound
#define ub upper_bound
#define vec vector
#define pb push_back
#define eb emplace_back
#define siz(vec) (int)((vec).size())
#define aint(vec) (vec).begin(),(vec).end()
template<class T>
void operator +=(vec<T> &a,T b){a.pb(b);}
#define pii pair<int,int>
#define x first
#define y second
#define mp make_pair
#define exc(exp) if(exp)continue;
#define stop(exp) if(exp)break;
#define ret(exp) if(exp)return;
#define quit(sth) {sth;return;}
#define deb(var) cerr<<#var<<'='<<(var)<<"; "
#define debl(var) cerr<<#var<<'='<<(var)<<";\n"
#define ll long long
#define inf (long long)(1e18)
template<class T>
bool Min(T &x,T y){return x>y?x=y,1:0;}
template<class T>
bool Max(T &x,T y){return x<y?x=y,1:0;}
const int mod=1e9+7;
void Add(int &x,int y){x=x+y<mod?x+y:x+y-mod;}
void Dec(int &x,int y){x=x>=y?x-y:x-y+mod;}
int fpm(int x,int y){
    int ans=1;for(;y;y>>=1,(x*=x)%=mod)if(y&1)(ans*=x)%=mod;return ans;
}

const int B=50;
int _gc[B][B];
vec<int> fac[B];

int k;

unordered_map<ll,int> f[B+2];

ll S;

int CNT;
ll reduce(int x,ll T){
    ll S=T>>x<<x;
    while(S){
        int i=__lg(S&(-S));
        S^=S&(-S);
        
        if(T>>i&1){
            bool fl=1;
            for(auto d:fac[i]){
                stop(d>=x);
                fl&=T>>d&1;
            }
            if(fl){
                T^=1ll<<i;
            }
        }
    }			return T;
}
bool dfs(int x,ll T,int g){
   ++CNT;
   bool TWC=0;
    if(f[x][T]){
        if(f[x][T]<k){
            k-=f[x][T];
            return 0;
        }else{
        	TWC=1;
        }
    }

    if(g==x){
		if(!TWC)++f[x][T];
        if(!(--k)){
            // debl(CNT);
            cout<<__builtin_popcountll(S)<<' ';
            for(int i=1;i<B;i++)
                if(S>>i&1)cout<<i<<' ';
            cout<<'\n';
            f[x][T]=0;
            return 1;
        }
    }
    if(x==1)return 0;
    for(int v=max(1,63^__builtin_clzll(T&((1ll<<x)-1)));v<x;v++){
        ll R=T,Q=T;
        while(Q){
            int x=__lg(Q&(-Q));
            R|=1ll<<_gc[x][v];
            Q^=Q&(-Q);
        }
//		ll R=T|(1ll<<v);
//		for(int i=0;i<B;i++)
//			if(T>>i&1)R|=1ll<<_gc[v][i];
		R=reduce(v,R);

        S^=1ll<<v;
        auto res=dfs(v,R,_gc[g][v]);
        S^=1ll<<v;
		if(!TWC)f[x][T]+=f[v][R];

        if(res){
            if(!TWC)f[x][T]=0;
            return 1;
        }
    }                               return 0;
}
void work(){
    cin>>k;
    if(!k){
        cout<<"0\n";
    }else{
        S=0;
        dfs(B,1,0);
    }
}
signed main(){
	for(int i=0;i<B;i++){
		for(int j=0;j<B;j++){
			_gc[i][j]=__gcd(i,j);
		}
	}
    for(int i=1;i<B;i++){
        for(int j=i+i;j<B;j+=i){
            fac[j]+=i;
        }
    }
    ios::sync_with_stdio(0),    
    cin.tie(0),cout.tie(0);
    int T=1;cin>>T;while(T--)work();
}

詳細信息

Subtask #1:

score: 8
Accepted

Test #1:

score: 8
Accepted
time: 1ms
memory: 3592kb

input:

5
62
37
88
57
72

output:

5 1 2 5 6 7 
6 1 2 3 4 5 6 
4 1 2 6 8 
4 1 3 6 7 
4 1 2 3 8 

result:

ok 5 lines

Test #2:

score: 8
Accepted
time: 1ms
memory: 3520kb

input:

5
88
77
21
87
24

output:

4 1 2 6 8 
4 1 3 4 8 
5 1 2 3 4 5 
3 2 6 8 
2 2 6 

result:

ok 5 lines

Test #3:

score: 8
Accepted
time: 0ms
memory: 3792kb

input:

5
59
5
72
76
95

output:

5 1 2 4 6 7 
2 1 3 
4 1 2 3 8 
4 1 2 4 8 
6 1 2 4 5 6 8 

result:

ok 5 lines

Test #4:

score: 8
Accepted
time: 1ms
memory: 3588kb

input:

5
3
58
50
91
38

output:

2 1 2 
5 1 2 3 6 7 
5 1 2 3 5 7 
5 1 2 4 6 8 
1 7 

result:

ok 5 lines

Test #5:

score: 8
Accepted
time: 0ms
memory: 3524kb

input:

5
6
38
78
60
52

output:

3 1 2 3 
1 7 
5 1 2 3 4 8 
6 1 2 3 4 6 7 
5 1 2 4 5 7 

result:

ok 5 lines

Test #6:

score: 8
Accepted
time: 0ms
memory: 3604kb

input:

5
53
2
54
17
77

output:

5 1 3 4 5 7 
1 2 
6 1 2 3 4 5 7 
4 1 2 3 5 
4 1 3 4 8 

result:

ok 5 lines

Subtask #2:

score: 21
Accepted

Dependency #1:

100%
Accepted

Test #7:

score: 21
Accepted
time: 3ms
memory: 3852kb

input:

5
967473
149056
95798
903699
54343

output:

14 1 2 3 6 7 9 14 15 17 18 21 22 23 24 
7 1 3 4 8 17 20 21 
9 1 2 5 7 11 15 17 19 20 
17 1 2 3 4 6 7 8 10 12 13 14 18 19 20 21 23 24 
7 1 2 4 8 11 18 19 

result:

ok 5 lines

Test #8:

score: 21
Accepted
time: 0ms
memory: 3852kb

input:

5
824612
692511
834141
820975
111302

output:

14 1 2 3 4 5 6 7 9 10 11 12 18 23 24 
10 1 2 3 5 6 7 10 13 21 24 
11 1 3 7 8 9 11 13 15 19 23 24 
11 1 3 4 5 8 9 12 15 17 23 24 
10 1 2 3 4 6 11 12 13 16 21 

result:

ok 5 lines

Test #9:

score: 21
Accepted
time: 3ms
memory: 3848kb

input:

5
115600
813100
742542
206782
714068

output:

13 1 2 3 5 6 7 9 10 11 13 15 17 21 
9 1 2 3 4 11 12 14 23 24 
12 1 2 3 5 6 11 12 14 17 18 22 24 
11 1 2 3 5 7 9 11 12 17 19 22 
14 1 2 3 4 5 6 9 10 13 17 18 19 21 24 

result:

ok 5 lines

Test #10:

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

input:

5
271953
490598
560137
729339
980828

output:

14 1 2 3 4 6 7 8 9 11 13 16 17 21 22 
12 1 2 3 4 8 11 12 13 14 16 22 23 
12 1 2 4 6 7 10 16 17 18 20 22 23 
12 1 2 3 5 7 8 9 10 13 14 22 24 
17 1 2 3 4 5 6 7 10 11 12 15 17 20 21 22 23 24 

result:

ok 5 lines

Test #11:

score: 21
Accepted
time: 3ms
memory: 3788kb

input:

5
78005
94222
345802
240639
797525

output:

14 1 2 3 4 6 7 9 10 11 12 13 16 17 20 
12 1 2 3 4 5 6 7 11 13 17 19 20 
12 1 2 3 7 8 9 11 13 14 17 18 23 
13 1 2 3 4 5 6 7 10 13 16 18 20 22 
13 1 2 3 6 7 8 9 14 18 19 21 22 24 

result:

ok 5 lines

Test #12:

score: 21
Accepted
time: 3ms
memory: 3844kb

input:

5
213815
388934
704608
638223
965441

output:

15 1 2 3 4 5 6 9 10 11 13 15 16 17 19 22 
11 1 2 3 4 7 10 13 14 16 20 23 
14 1 2 3 4 5 6 8 9 10 11 13 19 21 24 
8 1 2 4 8 11 14 16 24 
17 1 2 3 4 6 7 8 10 11 12 13 14 18 21 22 23 24 

result:

ok 5 lines

Subtask #3:

score: 41
Accepted

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Test #13:

score: 41
Accepted
time: 99ms
memory: 9264kb

input:

5
264009813
338082986
193952046
78609665
69397288

output:

21 1 2 3 4 5 6 7 8 9 10 12 15 17 18 19 21 24 25 29 33 34 
21 1 2 3 4 5 6 7 8 9 10 12 13 14 15 17 23 24 26 28 31 35 
20 1 2 3 4 5 7 10 11 13 14 15 16 17 20 21 22 23 28 31 34 
17 1 2 3 4 7 8 9 14 16 17 19 20 21 24 27 31 32 
18 1 2 3 4 5 6 7 8 10 13 15 17 18 19 24 26 30 32 

result:

ok 5 lines

Test #14:

score: 41
Accepted
time: 93ms
memory: 9904kb

input:

5
150219445
322427094
31308257
148721382
412214364

output:

16 1 2 3 4 9 11 13 14 17 18 25 26 27 31 32 33 
16 1 2 3 4 5 7 9 10 11 12 17 21 23 24 27 35 
15 1 2 3 5 8 9 11 13 15 16 17 18 26 27 31 
19 1 2 3 5 8 9 10 11 13 16 17 18 21 22 23 26 31 32 33 
17 1 2 3 4 5 7 9 13 18 20 21 22 26 27 29 34 35 

result:

ok 5 lines

Test #15:

score: 41
Accepted
time: 99ms
memory: 9804kb

input:

5
151756875
427011464
58969849
244330943
310625967

output:

21 1 2 3 4 5 6 7 8 9 10 11 18 19 20 23 24 27 28 31 32 33 
22 1 2 3 4 5 6 7 8 9 16 17 18 19 20 22 23 26 28 29 31 34 35 
15 1 2 4 5 7 8 10 14 16 19 22 24 25 28 32 
19 1 2 3 4 5 6 8 10 15 16 17 18 23 24 25 29 31 32 34 
25 1 2 3 4 5 6 7 10 11 12 13 14 15 17 20 21 22 23 26 27 28 31 32 33 34 

result:

ok 5 lines

Test #16:

score: 41
Accepted
time: 126ms
memory: 10652kb

input:

5
179476159
129836662
494167066
336058841
348325607

output:

22 1 2 3 4 5 6 7 8 12 13 15 16 19 21 23 24 25 26 27 28 29 34 
22 1 2 3 4 5 6 8 9 10 11 13 14 17 18 20 22 25 27 28 30 31 33 
17 1 2 3 4 5 6 7 9 10 14 16 18 19 22 25 29 36 
22 1 2 3 4 5 7 8 9 10 11 12 13 14 15 19 20 23 24 25 26 31 35 
22 1 2 3 4 5 6 7 10 11 15 19 22 23 24 25 26 27 28 29 30 31 35 

result:

ok 5 lines

Test #17:

score: 41
Accepted
time: 115ms
memory: 9820kb

input:

5
337931259
398093956
349469813
381304523
455533754

output:

15 1 2 3 5 6 7 9 13 15 21 22 26 28 31 35 
17 1 2 3 4 5 7 9 11 15 17 19 21 26 31 32 33 35 
18 1 2 3 4 5 7 8 10 11 12 14 15 16 21 25 26 32 35 
17 1 2 3 4 5 10 11 13 15 17 20 22 24 26 31 33 35 
22 1 2 3 4 5 6 7 8 9 10 13 14 16 18 19 20 21 23 26 33 34 35 

result:

ok 5 lines

Test #18:

score: 41
Accepted
time: 100ms
memory: 9532kb

input:

5
5456876
29594798
37782325
167839691
354330184

output:

17 1 2 3 4 5 6 9 12 13 17 20 21 23 24 25 26 27 
12 1 2 3 4 5 14 16 18 22 25 26 31 
16 1 2 4 5 6 7 10 11 16 17 18 19 22 26 29 31 
18 1 2 3 4 5 6 8 9 10 13 14 15 17 20 23 24 28 34 
19 1 2 3 4 5 6 8 9 10 16 17 20 23 24 26 27 29 32 35 

result:

ok 5 lines

Subtask #4:

score: 14
Accepted

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

100%
Accepted

Test #19:

score: 14
Accepted
time: 204ms
memory: 14252kb

input:

5
518437301
666694742
559265585
512923635
621833328

output:

20 1 2 3 4 5 7 8 9 10 12 13 15 17 19 21 22 23 24 32 36 
24 1 2 3 4 5 6 7 8 11 12 13 15 16 19 21 22 25 29 30 31 32 33 34 36 
25 1 2 3 4 6 7 8 9 10 11 12 13 14 16 19 20 22 23 24 27 28 29 31 33 36 
15 1 2 4 5 7 9 11 14 18 20 27 28 29 31 36 
21 1 2 3 4 5 6 8 9 11 12 16 19 20 21 22 25 26 31 32 34 36 

result:

ok 5 lines

Test #20:

score: 14
Accepted
time: 208ms
memory: 14844kb

input:

5
633963943
615542568
828135456
568557686
770592955

output:

17 1 2 3 4 7 8 9 11 12 13 14 24 25 26 33 34 36 
16 1 2 3 4 6 7 10 13 17 20 26 28 29 32 34 36 
18 1 2 4 6 7 11 13 14 16 17 19 20 23 26 28 29 32 37 
18 1 2 3 4 5 6 7 11 12 16 17 21 22 26 30 32 33 36 
11 1 2 3 4 5 9 10 13 19 29 37 

result:

ok 5 lines

Test #21:

score: 14
Accepted
time: 199ms
memory: 14808kb

input:

5
872589670
817203941
677799344
886039387
913475137

output:

20 1 2 3 4 5 6 8 11 12 15 16 17 19 23 25 26 27 30 33 37 
19 1 2 3 4 5 6 7 8 10 12 13 15 16 18 22 24 26 32 37 
23 1 2 3 4 5 6 7 9 10 12 13 14 16 19 21 22 23 25 26 28 31 35 36 
20 1 2 3 4 5 6 8 10 11 17 19 22 23 24 26 27 29 31 33 37 
27 1 2 3 4 5 6 7 8 10 11 12 13 14 16 19 20 21 22 23 24 25 27 28 31 3...

result:

ok 5 lines

Test #22:

score: 14
Accepted
time: 205ms
memory: 14868kb

input:

5
670654397
910193787
921254051
975272734
607399529

output:

18 1 2 3 5 6 7 10 11 12 13 14 18 19 21 23 29 35 36 
20 1 2 3 4 5 6 7 9 10 12 13 19 20 21 23 26 31 32 33 37 
27 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 23 29 30 31 32 33 37 
17 1 2 3 5 6 9 14 22 23 25 26 28 29 30 31 34 37 
18 1 2 4 5 6 7 10 11 16 22 23 25 28 29 30 31 34 36 

result:

ok 5 lines

Test #23:

score: 14
Accepted
time: 203ms
memory: 14880kb

input:

5
628012728
924251460
522922329
904744468
644444189

output:

20 1 2 3 4 6 8 12 14 16 17 19 20 22 26 28 29 31 32 34 36 
18 1 2 4 6 7 8 10 12 14 16 17 18 19 20 22 24 34 37 
19 1 2 3 4 6 7 8 9 10 12 14 17 18 22 23 24 29 32 36 
15 1 2 3 4 6 11 12 17 21 22 26 30 32 33 37 
22 1 2 3 4 5 6 8 10 11 12 14 15 16 18 19 20 25 28 31 33 34 36 

result:

ok 5 lines

Test #24:

score: 14
Accepted
time: 202ms
memory: 14780kb

input:

5
980123780
914372233
788153300
820127076
873721786

output:

19 1 2 3 5 7 10 11 13 14 16 17 21 23 25 26 27 32 34 37 
24 1 2 3 4 5 6 7 8 10 11 15 17 18 19 20 21 22 23 24 29 31 32 33 37 
20 1 2 3 4 6 9 11 12 13 14 15 17 19 23 26 27 28 29 30 37 
11 1 4 5 8 11 16 23 24 28 32 37 
21 1 2 3 4 5 6 7 9 10 12 13 14 15 21 25 26 27 28 30 33 37 

result:

ok 5 lines

Subtask #5:

score: 16
Accepted

Dependency #1:

100%
Accepted

Dependency #2:

100%
Accepted

Dependency #3:

100%
Accepted

Dependency #4:

100%
Accepted

Test #25:

score: 16
Accepted
time: 212ms
memory: 14776kb

input:

5
1358094333
1154803687
1277000267
1417906383
1326768836

output:

18 1 2 3 4 7 8 13 14 16 17 19 20 23 28 31 34 36 37 
20 1 2 3 4 5 8 10 11 13 16 17 20 23 25 26 29 32 33 35 37 
26 1 2 3 4 5 6 7 8 9 10 11 12 16 17 19 21 22 23 24 25 26 28 30 31 36 37 
22 1 2 3 4 5 6 7 8 10 13 15 20 21 23 25 28 29 32 33 34 36 37 
17 1 2 3 4 5 9 15 18 20 23 26 27 28 32 33 36 37 

result:

ok 5 lines

Test #26:

score: 16
Accepted
time: 201ms
memory: 14936kb

input:

5
1100135829
1287342975
1408078880
1246372296
1263782767

output:

21 1 2 3 4 5 6 7 11 12 13 14 15 16 21 23 25 27 28 31 35 37 
22 1 2 3 4 5 6 7 9 10 11 14 18 19 20 21 23 26 28 29 32 36 37 
21 1 2 3 4 5 8 10 11 13 15 16 18 21 25 26 29 31 33 34 36 37 
24 1 2 3 4 5 6 7 10 12 14 15 16 18 19 23 25 28 29 31 32 33 34 35 37 
21 1 2 3 4 5 6 7 8 9 11 12 13 15 16 18 24 28 29 ...

result:

ok 5 lines

Test #27:

score: 16
Accepted
time: 214ms
memory: 14864kb

input:

5
1306529540
1338402393
1435825745
1298031139
1263046790

output:

9 1 3 4 13 19 28 33 36 37 
22 1 2 3 4 5 6 7 9 10 11 13 14 19 20 21 27 30 31 32 33 36 37 
24 1 2 3 4 5 6 7 8 9 10 12 13 14 16 19 24 25 26 27 28 30 35 36 37 
22 1 2 3 4 5 6 7 9 11 12 13 14 16 22 23 25 26 29 31 32 36 37 
21 1 2 4 5 6 7 8 10 11 12 14 16 19 20 22 24 26 29 30 36 37 

result:

ok 5 lines

Test #28:

score: 16
Accepted
time: 206ms
memory: 14804kb

input:

5
1299841326
1050490081
1319190964
1496700273
1351264279

output:

19 1 2 3 4 6 8 9 13 15 18 19 23 26 28 29 31 32 36 37 
22 1 2 3 4 5 6 7 9 10 12 14 17 21 23 26 27 28 30 31 33 34 37 
20 1 3 4 5 7 8 9 12 16 17 19 20 23 24 27 29 31 33 36 37 
27 1 2 3 4 5 6 7 8 9 10 12 13 15 16 17 18 20 21 22 25 27 30 32 34 35 36 37 
24 1 2 3 4 5 6 7 8 10 12 13 14 16 17 18 20 21 22 23...

result:

ok 5 lines

Test #29:

score: 16
Accepted
time: 215ms
memory: 14840kb

input:

5
1126333587
1363542178
1219832547
1117001699
1052017949

output:

26 1 2 3 4 5 6 7 8 9 10 11 12 13 14 17 18 19 22 23 25 26 29 31 32 35 37 
18 1 2 4 5 11 13 14 16 17 19 22 25 28 29 31 34 36 37 
23 1 2 3 4 5 6 7 8 9 11 14 16 17 18 19 22 23 25 29 33 34 35 37 
21 1 2 3 4 5 6 7 8 9 11 15 16 19 20 23 27 28 29 32 35 37 
20 1 2 3 4 5 8 9 10 11 13 21 23 25 27 29 30 31 33 3...

result:

ok 5 lines

Test #30:

score: 16
Accepted
time: 204ms
memory: 14952kb

input:

5
1419871457
1342818229
1195637683
1225498668
1123546639

output:

22 1 2 3 4 5 6 9 11 13 14 15 16 19 23 27 28 30 32 33 34 36 37 
15 1 2 3 4 5 6 8 9 13 16 26 27 34 36 37 
24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 18 19 20 22 24 27 32 34 35 37 
23 1 2 3 4 5 7 10 13 14 15 16 20 23 25 26 27 28 29 30 33 34 35 37 
23 1 2 3 4 5 6 7 8 10 11 13 15 16 17 21 24 25 26 27 31 32 35 37 

result:

ok 5 lines