• 骗分杂谈


    前言:

    因为在这篇博客之前,OI界还有一本 《骗分导论》,为了尊重前人,本博客不与其重名。

    这几天的考试让我相当不适应。因为各种数据水,导致大家都用了奇怪的错解AC。
    没错,数据水到可以贪心100分,(n^2)过十万。(这就是冲刺省选的多校联考模拟赛吗,i了)
    分差拉大的背后,其实也反映出我的骗分能力不够。
    因此本博客应运而生。

    写这篇博客之前,我也先拜读了《骗分导论》。其实我并没有感到有太大帮助。
    首先是文章中用了相当篇幅介绍的dfs,模拟之流,在我看来都不能归于“骗分”的范畴,而更多的属于“暴力”领域。
    其次文章中当然也介绍了一些骗分的思想。但是可以看到,很多部分相当概括。大家都知道,如果追求覆盖面广的话,很可能会失去准确度。
    然后,文章中举的绝大部分例题,都是相当基础的,对于具备一定水平的OIer来说,根本不需要骗分,也一样能够轻松拿到满分。这样的例题并不能让人感受到骗分的魅力和价值所在。
    以上内容并没有在批判前人,而是要说明本篇的使命——用大量较有难度的例题,介绍具体的骗分方法,使读者打开思路。由于比较具体,很多方法其实是不能搬运到其他题目上的。重在打开思路。
    当然也要注意到,骗分毕竟不是根本,它的局限性太大了,因此还是要多努力写代码,提升自己才是最有效的途径。

    很重要的一点

    我承认以上都是瞎编的

    正文:

    1.最大K段和((n^2)过十万)

    题面:

    正解:

    先简单说一下正解。
    这题首先可以发现,如果要选某一段正数,那么一定要把连续的一段都选完,因为不要白不要。
    负数也是要把连续的一段都选完,因为如果要选负数,当且仅当是因为想把这一段负数两边连接的两段正数连起来,如果负数不选连续的一段,那就没有意义了。
    因此,第一步先把连续的正数(负数)都缩成一个点。此时正数负数一定是相间的。因为两边的数如果是负数,那么一定不选。因此去掉。
    此时正数数量一定等于负数数量加一。
    然后可以发现一个很重要的性质。
    我们先假定选上了所有的正数。
    此时如果不合法,一定是因为正数数量大于最多能选的段数了。
    为了减少段数,可以考虑两种途径:
    首先可以拿掉一个正数,这样显然可以减少一段
    其次可以加上一段负数,这样相当于连接了两边的正数,等价于减少一段。
    我们又可以发现,对于一对相邻的正负数,不可能同时拿掉正数,加上负数。因为这样是没有意义的。
    因此转化成了一个经典的问题:luogu P1792 [国家集训队]种树
    如果不会,这里推荐姚队的题解

    骗分前提:

    数据随机

    骗分方法:

    .
    注意到如果k大于等于正数段数量,那就相当与不用选负数。
    于是把所有的正数加起来输出即可。

    示例:

    二.
    注意到把连续的正(负)数缩到一起之后,最终序列长度可能会很小,此时可以跑&n^2&的简单dp。
    因此缩完后可以特判一下,如果最后序列长度可以用(n^2)dp跑出来,那就跑(n^2)dp
    这里有血淋淋的教训:
    像这样最终数据规模上下界差距过大时(可能缩到1,也可能一个都缩不掉),要把判断范围写大一些,尽量卡住时空限制的边。
    比如我,考试时把规模限制在1e3,拿了50分。后来换成2e3,直接AC。。。

    示例:

    2.CF505E Mr. Kitayuta vs. Bamboos

    正解:

    还不会,留坑。

    骗分前提:

    数据随机(模拟赛,数据自造的)

    骗分方法:

    注意到这题的难点在于对于某个竹子,可能会出现因为高度不够而无法砍掉p米的情况。
    但是又注意到如果数据随机,这种情况很大可能不会出现。
    因此在没有正解思路的情况下,就可以大胆地使用这个错误的贪心策略。

    示例:

    (用考试时的数据可以AC,考后才加的hack数据)

  • 相关阅读:
    Ldap遇到了事务管理问题
    Spring-Ldap连接Ldap及简单的增删查改
    枚举与数组的使用
    GDI_TCanvas
    获取鼠标当前位置的相对坐标、模拟鼠标点击事件
    绘制不规则图片、窗体与图形
    Message使用
    泛型_Tlist存储对象
    控件Owner和Parent的区别
    鼠标拖放
  • 原文地址:https://www.cnblogs.com/wwcdcpyscc/p/14036444.html
Copyright © 2020-2023  润新知