Bassline
题目背景
fuwa↑ fuwa↑ fuwa↑ fuwa↑
赫尔德开始使用当下热潮的聊天软件 BassLine,那么第一步自然是加好友了!加好友既需要确认自己和对方有共同兴趣,又需要能加到足够多的好友。赫尔德将其抽象成了下面这个问题,让你来帮她解决。
题目描述
本题中,区间 [ l , r ] [l,r] [l,r] 指所有大于等于 l l l 且小于等于 r r r 的整数组成的集合,如 [ 3 , 3 ] [3,3] [3,3] 代表 { 3 } \{3\} {3}, [ 3 , 7 ] [3,7] [3,7] 代表 { 3 , 4 , 5 , 6 , 7 } \{3,4,5,6,7\} {3,4,5,6,7}。
给定 n n n 个区间,第 i i i 个区间是 [ l i , r i ] [l_i,r_i] [li,ri]。
你需要选择两个整数 x ≤ y x\le y x≤y,满足:
- 对于所有区间
[
l
i
,
r
i
]
[l_i,r_i]
[li,ri](
1
≤
i
≤
n
1\le i \le n
1≤i≤n),以下两个条件之一满足:
- [ x , y ] [x,y] [x,y] 被 [ l i , r i ] [l_i,r_i] [li,ri] 包含,换言之, [ x , y ] ∩ [ l i , r i ] = [ x , y ] [x,y]\cap[l_i,r_i]=[x,y] [x,y]∩[li,ri]=[x,y]。
- [ x , y ] [x,y] [x,y] 与 [ l i , r i ] [l_i,r_i] [li,ri] 无交集,换言之, [ x , y ] ∩ [ l i , r i ] = ∅ [x,y]\cap[l_i,r_i]=\varnothing [x,y]∩[li,ri]=∅。
若有 k k k 个区间满足条件 1,则你的得分是 k ( y − x ) k(y-x) k(y−x)。输出你最大的可能的得分。
输入格式
第一行一个正整数表示 n n n。
接下来 n n n 行,每行两个数 l i , r i l_i,r_i li,ri,描述一个区间。
输出格式
一行一个自然数表示答案。
样例 #1
样例输入 #1
4
1 3
4 7
5 9
7 10
样例输出 #1
2
提示
【样例解释】
对于样例, [ 5 , 6 ] [5,6] [5,6] 是最优的区间之一,其含于 [ 4 , 7 ] , [ 5 , 9 ] [4,7],[5,9] [4,7],[5,9],且与 [ 1 , 3 ] , [ 7 , 10 ] [1,3],[7,10] [1,3],[7,10] 没有交集。此时 k = 2 k=2 k=2,因此答案为 2 × ( 6 − 5 ) = 2 2\times(6-5)=2 2×(6−5)=2。 [ 1 , 3 ] [1,3] [1,3] 也是一个最优的区间。
[ 5 , 7 ] [5,7] [5,7] 并非合法的区间,因为它与 [ 7 , 10 ] [7,10] [7,10] 有交集,也并不含于 [ 7 , 10 ] [7,10] [7,10]。
【数据范围】
对于所有数据保证 1 ≤ n ≤ 3 × 10 5 1 \le n \le 3 \times {10}^5 1≤n≤3×105, 1 ≤ l i ≤ r i ≤ 3 × 10 5 1 \le l_i \le r_i \le 3 \times {10}^5 1≤li≤ri≤3×105。
- 子任务 1(20 分): n , l i , r i ≤ 10 n,l_i,r_i \le 10 n,li,ri≤10;
- 子任务 2(20 分): n ≤ 10 3 n \le {10}^3 n≤103;
- 子任务 3(20 分): l i , r i ≤ 10 3 l_i, r_i \le {10}^3 li,ri≤103;
- 子任务 4(40 分):无特殊限制。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容