2020.05.16 2020.05.16 2020.05.16【 N O I P NOIP NOIP普及组】模拟赛 C C C组 33 33 33 总结
这次比赛我考了 360 360 360分,第三名,还可以。
第一题: m o b i t e l mobitel mobitel
题目
解题方法
这道题直接暴力。
没啥可讲。
得分情况
比赛时满分。
第二题: a i r s h i p airship airship
题目
解题方法
这题有两种方法:
- 这题是 R M Q RMQ RMQ模板,用 s t st st表可以过,时间复杂度为 O ( n log 2 n ) O(n\log_{2}^n) O(nlog2n)。
- 直接离散化,时间复杂度最坏 O ( n m ) O(nm) O(nm),纪中的数据可以过。
得分情况
比赛时满分。
第三题: r e u n t i o n reuntion reuntion
题目
解题方法
直接暴力模拟,时间复杂度为
O
(
n
2
)
O(n^2)
O(n2),可以过。
也可以用贪心
O
(
n
)
O(n)
O(n)做法。
得分情况
比赛时 60 60 60分。
第四题: h o u s e house house
题目
解题方法
我们可以发现第
i
i
i和第
j
j
j的的房子的距离是
l
i
+
l
j
+
∣
p
i
−
p
j
∣
l_i+l_j+|p_i-p_j|
li+lj+∣pi−pj∣。
对于上面有绝对值的式子,我们可以先把
l
l
l排序,就可以把绝对值去掉,得
l
i
+
l
j
+
p
i
−
p
j
l_i+l_j+p_i-p_j
li+lj+pi−pj。
我们可以把下标为
i
i
i合并,下标为
j
j
j的合并,得
l
i
+
p
i
+
(
l
j
−
p
j
)
l_i+p_i+(l_j-p_j)
li+pi+(lj−pj)。
那么就可以用一个变量维护
l
j
−
p
j
l_j-p_j
lj−pj,然后每一次用这个变量加上
l
i
+
p
i
l_i+p_i
li+pi,求一次最大值就行了。时间复杂度为排序复杂度,
O
(
n
log
2
n
)
O(n\log_{2}^{n})
O(nlog2n)。
得分情况
比赛时满分。