QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#455447#8528. ChordsPhantomThresholdWA 1ms5760kbC++201.0kb2024-06-26 14:16:532024-06-26 14:16:54

Judging History

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

  • [2024-06-26 14:16:54]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:5760kb
  • [2024-06-26 14:16:53]
  • 提交

answer

#include<bits/stdc++.h>
#define ll long long
using namespace std;

inline void up(int &a,const int &b){ if(a<b)a=b; }
const int maxn = 210000;

int n;
int a[maxn];

vector<int>f[maxn];
void upd(int i,int j,int c)
{
	if( (int)f[i].size()-1 <j )
		f[i].resize(j+1);
	f[i][j]=c;
}
void fix(int i)
{
	for(int j=(int)f[i].size()-1;j>0;j--)
	{
		up(f[i][j-1],f[i][j]);
	}
}

int main()
{
	ios_base::sync_with_stdio(false);
	
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int l,r; cin>>l>>r;
		a[r]=l;
	}
	n<<=1;
	
	/*
	f[l][r]= max( f[l][l'] + 1 + f[l'][r'] )
	*/
	int ans=0;
	f[1].push_back(2);
	
	
	for(int i=2;i<=n;i++)
	{
		f[i]=f[i-1];
		
		f[i][0]=i+1;
		if(a[i] && a[i]<i)
		{
			int c=1;
			for(int j=(int)f[i-1].size()-1;j>=0;j--) if(f[i-1][j]>a[i])
			{
				c+=j;
				break;
			}
			
			upd(i,c,a[i]);
			int L=a[i]-1;
			if(L)
			{
				for(int j=1;j< (int)f[L].size() ;j++)
					upd(i,c+j,f[L][j]);
			}
		}
		fix(i);
		up(ans,(int)f[i].size()-1);
	}
	
	cout<<ans<<endl;
	
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

5
1 2
4 10
7 9
3 5
6 8

output:

3

result:

ok 1 number(s): "3"

Test #2:

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

input:

1
1 2

output:

1

result:

ok 1 number(s): "1"

Test #3:

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

input:

2
1 3
2 4

output:

1

result:

ok 1 number(s): "1"

Test #4:

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

input:

2
1 4
2 3

output:

2

result:

ok 1 number(s): "2"

Test #5:

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

input:

3
3 5
1 4
2 6

output:

2

result:

ok 1 number(s): "2"

Test #6:

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

input:

4
2 7
1 6
3 8
4 5

output:

2

result:

ok 1 number(s): "2"

Test #7:

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

input:

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

output:

5

result:

ok 1 number(s): "5"

Test #8:

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

input:

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

output:

4

result:

ok 1 number(s): "4"

Test #9:

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

input:

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

output:

6

result:

ok 1 number(s): "6"

Test #10:

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

input:

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

output:

8

result:

ok 1 number(s): "8"

Test #11:

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

input:

28
9 45
7 19
15 40
42 44
26 31
20 22
16 55
6 34
41 56
28 51
2 33
36 53
3 13
37 52
4 46
12 48
21 27
24 30
23 38
1 32
8 14
43 54
11 17
47 49
29 35
5 25
18 39
10 50

output:

10

result:

ok 1 number(s): "10"

Test #12:

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

input:

42
2 66
29 75
5 45
8 53
50 72
25 44
15 47
6 57
64 68
26 80
32 49
65 70
27 54
37 58
18 36
10 48
3 63
28 60
30 76
16 41
7 83
21 24
14 17
31 67
62 71
20 74
11 33
43 84
40 61
19 69
35 82
13 42
34 79
12 73
9 51
4 23
77 81
22 59
1 52
39 55
38 56
46 78

output:

11

result:

ok 1 number(s): "11"

Test #13:

score: -100
Wrong Answer
time: 1ms
memory: 3712kb

input:

63
40 105
6 104
45 83
16 22
31 34
51 57
64 92
75 112
70 82
65 121
32 93
18 60
30 68
72 77
86 101
10 47
85 94
36 71
11 35
27 126
56 74
15 52
19 91
88 110
76 97
25 33
58 109
42 54
12 26
73 107
99 118
29 106
44 90
3 9
23 122
14 79
87 116
4 81
17 111
41 53
50 123
38 124
13 114
67 96
5 100
55 115
43 62
4...

output:

15

result:

wrong answer 1st numbers differ - expected: '17', found: '15'