zoukankan      html  css  js  c++  java
  • 快乐的一天从AC开始 | 20210728 | P2218

    题目链接

    工作难度逐渐飙升,我还只是个3周经验的菜鸟啊

    这周过完之后,来公司也满一个月了,周五团建可以提早下班,聚餐还挺舒服的,就是吃完饭还有卡丁车,对于我不太友好

    心路历程

    观察

    思路

    首先,看到求满足条件的最小值可以想到二分。

    然后,对于一个二位点集,求出覆盖这些点且边长最小的正方形,这个正方形是唯一的。此时有正方形的边上必定有点,所以3个小正方形种必定都有边和大正方形的边重合,因为每条边上的点都需要被一个小正方形覆盖。

    然后,因为正方形有4条边,所以必定有一个小正方形有两条边和大正方形重合,即至少有一个小正方形,它的角和大正方形的角重合。

    然后,可以先枚举第一个小正方形覆盖哪个角,把已经覆盖的点去掉。

    现在,要用两个正方形去覆盖一个正方形(不知道多大),如果新正方形的边长小于当前二分到的边长,那么就直接完事了。不然还是至少有一个小正方形,它的角和大正方形的角重合。

    然后再枚举第二个小正方形覆盖那个角,把已经覆盖的点去掉。

    现在要用一个正方形去覆盖一个正方形,可以直接判断。

    注意,要把之前操作的影响消除。

  • 相关阅读:
    JS——jquery UI
    js——正则表达式
    jsonp——使用公共接口获取数据
    JS——json、ajax、jsonp
    [HNOI2011]括号修复 / [JSOI2011]括号序列
    [HNOI 2016] 树
    luogu_P3313 [SDOI2014]旅行
    无旋Treap模板
    [CF 718C] Sasha and Array
    [洛谷 P4556] 雨天的尾巴
  • 原文地址:https://www.cnblogs.com/zengzk/p/15073295.html
Copyright © 2011-2022 走看看