2020/2/10
Posted 。✧* ꧁王者꧂✧*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020/2/10相关的知识,希望对你有一定的参考价值。
考试总结:
7
:
30
−
10
:
00
7:30 - 10:00
7:30−10:00
一直到10点前我都没开始写题 。 一直在思考
T
1
T1
T1和
T
2
T2
T2怎么写(因为
T
3
T3
T3我连暴力都不会)。 对于
T
1
T1
T1其实我并没有特别好的思路 , 但是还是想尽力一博 , 就先把
20
p
t
s
20pts
20pts的先打了个表 。然后思考
T
2
T2
T2怎么做。
T
2
T2
T2的思路还是比较直观的 。 先搞个在模k意义下的前缀和 , 然后当n很小的时候 , 直接
O
(
n
2
)
O(n ^ 2)
O(n2)枚举哪些区间在模k意义下为0 。 对于这些区间 ,最小的答案可以贪心来求 。 这是
O
(
n
3
)
O(n ^ 3)
O(n3)的复杂度 。 然后我又想到了一个
O
(
n
k
)
O(nk)
O(nk)复杂度的优化算法 。 把所有
s
u
m
[
i
]
sum[i]
sum[i]相同的
i
i
i存到
v
e
c
t
o
r
vector
vector里 , 然后对于没个区间 , 把它的最小次数乘上它会被计算多少次 。 这样就能过掉
60
p
t
s
60pts
60pts了 。
10
:
00
−
12
:
00
10:00 - 12:00
10:00−12:00
开始码代码 。 因为
T
1
T1
T1还想多拿些分 , 就硬搞 , 把所有
n
<
=
8
n <= 8
n<=8的全打了出来 。 然而 , 终究是我错付了(原来我自己推的答案都不对 , 我是大FWQWQ)。然后
T
2
T2
T2的
60
p
t
s
60pts
60pts我也码完了 。 就走人吃饭了 。 虽然我也不知道为什么
T
2
T2
T2的
后
20
p
t
s
后20pts
后20pts错哪了QWQ 。
补题后总结:
首先 ,
T
2
T2
T2丢的
20
p
t
s
20pts
20pts在于贡献为
−
1
-1
−1的区间没统计完 。
T
1
T1
T1 , 考场上没有往按时间
D
P
DP
DP这方面去想 。就想着 , 两次操作可以修改一个区间 , 而没有让某一个操作直接做完 。 思路方向错了 , 然后就不会了 。
T
2
T2
T2我和题解的思路差不多 , 只是当时没有想到怎么快速计算某段区间的值 。可以用主席树或者树状数组维护值 。 我用的是树状数组 , 具体方法是把一段区间的
a
[
l
−
1
]
a[l - 1]
a[l−1]作为基点 , 然后以
a
[
l
−
1
]
+
k
/
2
a[l - 1] + k / 2
a[l−1]+k/2为上界 ,
a
[
l
−
1
]
−
k
/
2
a[l - 1] - k / 2
a[l−1]−k/2为下界 , 放在树状数组里维护一下 。
以上是关于2020/2/10的主要内容,如果未能解决你的问题,请参考以下文章
Scala的协变covariant(+),逆变contravariant(-),上界(<:),下界(;:)