• 省选模拟28


    A.

      考虑一个暴力的做法,枚举树上的每条链,那么贡献只和链两端有关。

      对于一个端点,他的贡献可以通过简单dp求出来。通过多项式可以将这个dp的过程优化到$nlog^2$。

      考虑上面那个东西的瓶颈在于枚举点对,那么可以将点对分类。

      先处理出以某个点为根时,每个点的方案数。那么点对有两类:祖先关系和非祖先关系。

      对于非祖先关系,可以简单dp求出来。

      对于祖先关系,发现祖先的贡献最多有根号种,暴力处理出来算就行了。

    B.

      首先将原序列差分,那么一次修改对应一个端点+1,一个端点-1。

      考虑先求出来一个初始的答案数组,不管操作次数,只要求合法,那么不难得到。

      那么一个合法的答案数组的要求是任意位置前缀和不小于0。

      考虑贪心,首先按照差分后的数组的排序,如果大小相同按照位置从后向前,每次贪心的考虑当前位置能否-k。

      由于保证了每次修改的影响最小,所以这样是正确的。

    C.

      把表示一段区间的权值写出来,通分一下,那么可以发现是斜率的形式(我没发现)。

      于是要求两点之间斜率绝对值的最小值,不难发现只有可能出现在相邻的y。

      于是排完序直接搞就行了。

  • 相关阅读:
    winform 计算器
    js 特效代码网址
    js 动图效果
    计算器 练习
    html frameset 练习
    SQL 仓库管理练习题
    数据库存取图片
    数据库查询Database中的表
    面向对象练习
    C#函数与SQL储存过程
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12347438.html
Copyright © 2020-2023  润新知