zoukankan      html  css  js  c++  java
  • ARC063 简要题解

    ARC063 简要题解

    A

    模拟即可

    B

    算下有多少个极大差就行了

    C

    考虑一个点到另一个点的路径是什么情况

    必然是一段上升的加一段下降的, 单增单减也行

    然后就可以考虑一个贪心策略了

    每次选出最小的, 给他周围没有附权值的附一个 这个最小点权值 + 1 的权值

    不难发现这样是满足上面那个条件的

    不合法情况中间判一下就行

    D

    考试考过, 想出来了, 写不出来...

    考虑最差矩形的周长是多少, 发现是 (max(w, h)+2)

    那么一个矩形的周长要比这个长必须要满足该矩形过 (x = frac{w}{2})(y = frac{h}{2})

    然后转化一下题意, 一个合法矩形即矩形内部没有点, 边界随便

    坐标轴转一下就行了, 所以只对 (y = frac{h}{2}) 讨论

    那么考虑扫描线, 将当前扫描线扫到的坐标当做矩形的右边界

    发现 (y = frac{h}{2}) 这条直线上方从左往右能够取到的矩形的上边界是单调不降的

    这个东西可以单调栈维护

    直线下方同理

    有点难写

  • 相关阅读:
    多文件编程(day13)
    字符串函数(day11)
    字符编码
    逻辑公式相等的自动证明
    排列组合问题之圆形分布
    排列组合之线性排列
    分金条
    进制的意义和算法
    集合的异或运算(对称差)
    集合习题之列出有限集合所有子集
  • 原文地址:https://www.cnblogs.com/ztlztl/p/13578497.html
Copyright © 2011-2022 走看看