2020/2/10

Posted 。✧* ꧁王者꧂✧*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020/2/10相关的知识,希望对你有一定的参考价值。

考试总结:
7 : 30 − 10 : 00 7:30 - 10:00 7:3010: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:0012: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[l1]作为基点 , 然后以 a [ l − 1 ] + k / 2 a[l - 1] + k / 2 a[l1]+k/2为上界 , a [ l − 1 ] − k / 2 a[l - 1] - k / 2 a[l1]k/2为下界 , 放在树状数组里维护一下 。

以上是关于2020/2/10的主要内容,如果未能解决你的问题,请参考以下文章

scala-协变逆变上界下界

Scala的协变covariant(+),逆变contravariant(-),上界(<:),下界(;:)

Scala的协变covariant(+),逆变contravariant(-),上界(<:),下界(;:)

上界下界和准确界

最大子矩阵(手动降维)

类型参数,协变逆变,上界下界