QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#730557#9519. Build a ComputerDBsoleil#AC ✓2ms4052kbC++231.3kb2024-11-09 20:40:182024-11-09 20:40:19

Judging History

This is the latest submission verdict.

  • [2024-11-09 20:40:19]
  • Judged
  • Verdict: AC
  • Time: 2ms
  • Memory: 4052kb
  • [2024-11-09 20:40:18]
  • Submitted

answer

#include<bits/stdc++.h>
#define pb push_back
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;

const int N=1e6+5,K=20;
const ll MOD=998244353;
int L,R,S,T,n;
int ch[N][2];
vector<pii> op,ed[N];

void input()
{
    scanf("%d%d",&L,&R);
    S=1,T=2,n=2;
}

void workve()
{
    while(L+(L&-L)-1<=R) op.pb({L,log2(L&-L)}),L+=L&-L;
    for(int i=log2(L&-L);i>=0;i--) if(L+(1<<i)-1<=R) op.pb({L,i}),L+=(1<<i);
}

void ade(int x,int y,int w) {ed[x].pb({y,w});}

void build1()
{
    int mx=0;
    for(auto[x,y]:op) mx=max(mx,y);
    for(int i=1;i<=mx;i++)
    {
        int u=++n;
        ade(u,u-1,0),ade(u,u-1,1);
    }
}

bool in(int x,int i) {return (x>>i)&1;}

void build2()
{
    for(auto[x,y]:op)
    {
        int nw=1,k=log2(x);
        //cerr<<' '<<x<<' '<<y<<' '<<k<<endl;
        for(int i=k;i>y;i--)
        {
            int c=in(x,i);
            if(!ch[nw][c]) ch[nw][c]=++n,ade(nw,n,c);
            nw=ch[nw][c];
        }
        ade(nw,T+y,in(x,y));
    }
}

void solve()
{
    input();
    workve();
    build1();
    build2();
    printf("%d\n",n);
    for(int i=1;i<=n;i++)
    {
        printf("%d",ed[i].size());
        for(auto[x,y]:ed[i]) printf(" %d %d",x,y);
        printf("\n");
    }
}

int main()
{
    int T=1;
    for(int cs=1;cs<=T;cs++) solve();
}

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

详细

Test #1:

score: 100
Accepted
time: 2ms
memory: 3880kb

input:

5 7

output:

5
1 4 1
0
2 2 0 2 1
2 5 0 3 1
1 2 1

result:

ok ok

Test #2:

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

input:

10 27

output:

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

result:

ok ok

Test #3:

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

input:

5 13

output:

7
1 5 1
0
2 2 0 2 1
2 3 0 3 1
4 6 0 3 1 4 0 7 1
1 2 1
1 3 0

result:

ok ok

Test #4:

score: 0
Accepted
time: 2ms
memory: 3956kb

input:

1 1000000

output:

39
20 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 6 0 6 1
2 7 0 7 1
2 8 0 8 1
2 9 0 9 1
2 10 0 10 1
2 11 0 11 1
2 12 0 12 1
2 13 0 13 1
2 14 0 14 1
2 15 0 15 1
2 16 0 16 1
2 17 0 17 1
2 18 0 18 1
2 19 0 19 1
...

result:

ok ok

Test #5:

score: 0
Accepted
time: 2ms
memory: 4052kb

input:

1 1

output:

2
1 2 1
0

result:

ok ok

Test #6:

score: 0
Accepted
time: 2ms
memory: 3880kb

input:

7 9

output:

6
1 4 1
0
2 2 0 2 1
2 5 1 6 0
1 2 1
1 3 0

result:

ok ok

Test #7:

score: 0
Accepted
time: 2ms
memory: 3876kb

input:

3 7

output:

5
2 5 1 4 1
0
2 2 0 2 1
2 3 0 3 1
1 2 1

result:

ok ok

Test #8:

score: 0
Accepted
time: 2ms
memory: 3920kb

input:

1 5

output:

4
3 2 1 3 1 4 1
0
2 2 0 2 1
1 3 0

result:

ok ok

Test #9:

score: 0
Accepted
time: 2ms
memory: 4016kb

input:

1 4

output:

5
3 2 1 3 1 4 1
0
2 2 0 2 1
1 5 0
1 2 0

result:

ok ok

Test #10:

score: 0
Accepted
time: 2ms
memory: 3920kb

input:

8 9

output:

5
1 4 1
0
2 2 0 2 1
1 5 0
1 3 0

result:

ok ok

Test #11:

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

input:

7 51

output:

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

result:

ok ok

Test #12:

score: 0
Accepted
time: 2ms
memory: 3960kb

input:

51 79

output:

12
1 7 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 8 1 12 0
2 9 0 5 1
2 10 0 4 1
1 11 1
1 2 1
1 6 0

result:

ok ok

Test #13:

score: 0
Accepted
time: 2ms
memory: 4020kb

input:

92 99

output:

11
1 5 1
0
2 2 0 2 1
2 3 0 3 1
2 6 0 9 1
1 7 1
1 8 1
1 4 1
1 10 0
1 11 0
1 4 0

result:

ok ok

Test #14:

score: 0
Accepted
time: 2ms
memory: 3836kb

input:

27 36

output:

12
1 5 1
0
2 2 0 2 1
2 3 0 3 1
2 6 1 9 0
2 7 0 4 1
1 8 1
1 2 1
1 10 0
2 4 0 11 1
1 12 0
1 2 0

result:

ok ok

Test #15:

score: 0
Accepted
time: 2ms
memory: 3972kb

input:

55 84

output:

16
1 7 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 8 1 12 0
2 9 0 5 1
1 10 1
1 11 1
1 2 1
2 6 0 13 1
1 14 0
2 4 0 15 1
1 16 0
1 2 0

result:

ok ok

Test #16:

score: 0
Accepted
time: 2ms
memory: 3828kb

input:

297208 929600

output:

53
1 21 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 6 0 6 1
2 7 0 7 1
2 8 0 8 1
2 9 0 9 1
2 10 0 10 1
2 11 0 11 1
2 12 0 12 1
2 13 0 13 1
2 14 0 14 1
2 15 0 15 1
2 16 0 16 1
2 17 0 17 1
2 18 0 18 1
2 19 0 19 1
4 22 0 19 1 20 0 36 1
2 23 0 18 1
1 24 1
2 25 0 16 1
2 26 0 15 1
2 27 0 14 1
1 28 1
2 29...

result:

ok ok

Test #17:

score: 0
Accepted
time: 2ms
memory: 3972kb

input:

45728 589156

output:

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

result:

ok ok

Test #18:

score: 0
Accepted
time: 2ms
memory: 3956kb

input:

129152 138000

output:

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

result:

ok ok

Test #19:

score: 0
Accepted
time: 2ms
memory: 3828kb

input:

245280 654141

output:

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

result:

ok ok

Test #20:

score: 0
Accepted
time: 2ms
memory: 3984kb

input:

202985 296000

output:

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

result:

ok ok

Test #21:

score: 0
Accepted
time: 2ms
memory: 3812kb

input:

438671 951305

output:

54
1 21 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 6 0 6 1
2 7 0 7 1
2 8 0 8 1
2 9 0 9 1
2 10 0 10 1
2 11 0 11 1
2 12 0 12 1
2 13 0 13 1
2 14 0 14 1
2 15 0 15 1
2 16 0 16 1
2 17 0 17 1
2 18 0 18 1
2 19 0 19 1
2 22 1 20 0
4 23 0 18 1 19 0 39 1
1 24 1
2 25 0 16 1
1 26 1
1 27 1
2 28 0 13 1
2 29 0 12...

result:

ok ok

Test #22:

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

input:

425249 739633

output:

54
1 20 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 6 0 6 1
2 7 0 7 1
2 8 0 8 1
2 9 0 9 1
2 10 0 10 1
2 11 0 11 1
2 12 0 12 1
2 13 0 13 1
2 14 0 14 1
2 15 0 15 1
2 16 0 16 1
2 17 0 17 1
2 18 0 18 1
2 21 1 38 0
2 22 0 18 1
2 23 0 17 1
1 24 1
1 25 1
1 26 1
1 27 1
1 28 1
2 29 0 11 1
1 30 1
2 31 0 9 1...

result:

ok ok

Test #23:

score: 0
Accepted
time: 2ms
memory: 4032kb

input:

551207 961718

output:

56
1 20 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 6 0 6 1
2 7 0 7 1
2 8 0 8 1
2 9 0 9 1
2 10 0 10 1
2 11 0 11 1
2 12 0 12 1
2 13 0 13 1
2 14 0 14 1
2 15 0 15 1
2 16 0 16 1
2 17 0 17 1
2 18 0 18 1
2 21 0 39 1
2 22 0 19 1
2 23 0 18 1
2 24 0 17 1
1 25 1
1 26 1
2 27 0 14 1
1 28 1
2 29 0 12 1
2 30 0 ...

result:

ok ok

Test #24:

score: 0
Accepted
time: 2ms
memory: 3980kb

input:

114691 598186

output:

54
3 21 1 19 1 20 1
0
2 2 0 2 1
2 3 0 3 1
2 4 0 4 1
2 5 0 5 1
2 6 0 6 1
2 7 0 7 1
2 8 0 8 1
2 9 0 9 1
2 10 0 10 1
2 11 0 11 1
2 12 0 12 1
2 13 0 13 1
2 14 0 14 1
2 15 0 15 1
2 16 0 16 1
2 17 0 17 1
2 18 0 18 1
2 19 0 19 1
2 22 1 37 0
1 23 1
2 24 0 15 1
2 25 0 14 1
2 26 0 13 1
2 27 0 12 1
2 28 0 11 1...

result:

ok ok

Test #25:

score: 0
Accepted
time: 2ms
memory: 4012kb

input:

234654 253129

output:

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

result:

ok ok

Test #26:

score: 0
Accepted
time: 2ms
memory: 3956kb

input:

554090 608599

output:

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

result:

ok ok

Extra Test:

score: 0
Extra Test Passed