zoukankan      html  css  js  c++  java
  • 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)

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

    总结

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

    转载需注明出处。
  • 相关阅读:
    lower_bound &&upper_bound
    二分/三分
    $qsort$
    define
    typedef
    string
    queue
    nyoj Arbitrage (Bellman-Ford)
    nyoj 谍战 (最小割最大流)
    nyoj 网络的可靠性(。。。)
  • 原文地址:https://www.cnblogs.com/jz929/p/12323561.html
Copyright © 2011-2022 走看看