• CF Round #687 Div2 简要题解


    题面

    A

    可以发现,最远的几个人一定是 ((1, 1), (1, m), (n, 1), (n, m)) 中的一个,直接计算即可。

    B

    注意到颜色数量很少,直接暴力枚举最终的颜色后模拟即可。

    C

    本质上删除第一个位置就是将初始的 (p + 1),于是可以考虑直接枚举会将初始位置往后挪几位,需要的操作一次数就是 (p) 之后模 (k)(p) 同余的位置中 (0) 的数量。

    直接记录一个模意义下的前缀和,再在枚举 (p) 初始位置时维护另一个模意义下的前缀和即可。

    D

    可以发现,若出现连续三个数的最高位相同,必能通过操作后两个数使得答案为 (1)

    仔细分析可以发现,最高位最慢的增长也是每两位增长 (1),因此如果这个序列答案不为 (1) 一定满足长度不大于 (60)

    那么就可以直接暴力枚举了,需要注意的是,可能出现消 ([i, j], [j + 1, k]) 这两个区间的情况。

    E

    如果只有正数,那么显然的贪心是从大到小地打每个 ( m boss)

    同时不难发现先打值为正的 ( m boss) 也一定是更优的,那么现在就只需要考虑权值为负的 ( m boss) 了。

    如果现在可以将积分重置为 (0),那么原问题就可以转化为:将所有 ( m boss) 放入 (k + 1) 个盒子,每个 ( m boss) 对答案的贡献为其所在盒子后的 ( m boss) 数量乘上其权值。

    此时就不难发现一个非常简单的贪心了,将所有权值为负的 ( m boss) 依次填入当且 ( m boss) 数量最少且最靠前的盒子即可。

  • 相关阅读:
    python模拟android屏幕高频点击工具
    android adb shell and monkey 学习记录
    appium+python环境搭建
    python监控接口请求
    JetBrains Pycharm 破解+汉化
    loadrunner调用jar包方法
    python抢小米6自动化脚本
    CDlinux制作U盘启动盘,打造自己的口袋系统
    无线渗透测试之wifi密码破解
    测试-test1
  • 原文地址:https://www.cnblogs.com/Go7338395/p/14057982.html
Copyright © 2020-2023  润新知