zoukankan      html  css  js  c++  java
  • ZROI 白银御行

    ZROI 白银御行

    本题的男点大概在如何批量的计算两个矩阵有交。

    设一个矩阵的四个端点为 (A,B,C,D),↖,↗,↙,(↘)

    对于一个矩阵 X,另一个矩阵 Y 和它有交,首先要满足 Y 的 A 在 X 的 D 左上方,

    深度截图_选择区域_20200930171018

    如图所示的四个区域,对于第 1 个区域已无问题。第二区发现如果 C 点在 1 内则有,否则无,无的情况正好是 (Y_C < X_B),第三个区域同理,这时候在四区域内的被减了两遍,再加上这种情况即可。

    细节可以手玩一下。更一般的想,Y 这个矩形的上边界一定要比 X 下边界高,左边界要比 X 右边界靠左。

    所以式子就是

    [[Ry_1 le Rx_2][Cy_1 le Cx_2][Ry_2 ge Rx_1][Cy_2 ge Cx_1]\ = [Ry_1 le Rx_2][Cy_1 le Cx_2] - [Ry_1 le Rx_2][Cy_1 le Cx_2][Ry_2 < Rx_1]\ - [Ry_1 le Rx_2][Cy_1 le Cx_2][Cy_2 < Cx_1] + [Ry_1 le Rx_2][Cy_1 le Cx_2][Ry_2 < Rx_1][Cy_2 < Cx_1]\ = [Ry_1 le Rx_2][Cy_1 le Cx_2] - [Cy_1 le Cx_2][Ry_2 < Rx_1]\ - [Ry_1 le Rx_2][Cy_2 < Cx_1] + [Ry_2 < Rx_1][Cy_2 < Cx_1] ]

    这样也可以很方便的拓展到高维上。

  • 相关阅读:
    进程的由来
    进程管理逻辑图
    OS的特征

    4.6 路由相关
    设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试?
    如何测试一个纸杯?
    软件产品质量特性是什么?
    一个京东登录的安全漏洞
    文章、书阅读
  • 原文地址:https://www.cnblogs.com/Hs-black/p/13755663.html
Copyright © 2011-2022 走看看