2020.02.16【NOIP提高组】模拟A 组 总结

呃呃呃,可以说时间完全不够啊。。。
估分:(100 + 0 + 0 = 100)
考场:(100 + 0 + 0 = 100)
啊,(T2)本来能够做对的。。。可惜没有时间打。。。

(T1)

这道题看完以后感觉就是数据结构维护。
然后看到第一个操作,眼前一亮:分块!(之前分块入门什么的有过这个操作的问题)
然后看第二个操作,有些不好维护,但发现(k)很小,于是决定把括号拆开。
拆开后在使用结合律,发现每个可以分成两个东西:(sigma(a[i]*i^k)*C(0,n)*((1-l)^0+sigma(a[i]*i)^((n-1)*C(1,n)*(1-l)^1+...)
其中(sigma)里面的可以直接预处理出来,然后(1-l)这个东西每次都是固定的。
分块维护一下即可。

(T2)

这一题其实很容易做的。
发现(n,m)都很小,考虑时候有暴力做法。
求的是最小值,所以我们可以二分并判断。
判断怎么判呢?发现可以流一流。
于是乎,就可以了。

(T3)

一开始看完题后觉得没有思路。
赛后有人提醒只有两行是关键所在。
我们可以发现可以用线段树来维护。
对于两个区间合并,我们可以发现在加上两个区间之间的两条边以后一定会出现一个环,且环就在两个区间之间。
这样,我们就可以存储一些有关的条件然后在删边的时候判断取最优即可。情况有多种,分类需小心。

总结

在考虑好以后,一定要分配好打代码的时间。
有的时候,也是想好了再写更快速一些。
还有有些题给的信息要全部注意,不可能是废话。
要多动脑筋,多联想一下有没有类似做过的题目或者可以运用上的知识。

转载需注明出处。
原文地址:https://www.cnblogs.com/jz929/p/12323561.html