• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            QuXiao

            每天進步一點點!

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              50 隨筆 :: 0 文章 :: 27 評論 :: 0 Trackbacks

            一道幾何題,解決方法很容易想到,不過要細心。

            隨著輸入的順序,將矩形一個個放入集合,如果新的矩形與集合中的舊矩形相交,就將舊矩形分解,刪除舊矩形,放入新矩形和分解的矩形。

            設矩形R1、R2,寬和高分別為(W1, H1)和(W2, H2),兩矩形中心坐標分別為(X1, Y1)以及(X2, Y2)。判斷兩矩形是否相交(也就是是否有面積相重合),就看兩矩形中心坐標的豎直和水平距離是否小于兩矩形高的和的一半以及兩矩形寬的和的一半。即:

            ( |X1 - X2| < (W1 + W2) / 2 ) && ( |Y1 - Y2| < (H1 + H2) / 2 )

            如果條件滿足,R1和R2即相交。

            那相交會有幾種情況呢?我想到了16種:

            image

            根據不同的情況,可以將原來的矩形分解為0~4個小矩形,這樣就可以解出來了。

            (做幾何題可真費草稿紙啊,看來以后得學學matlab了,低碳、環保!)

            另外,USACO還有一種解法,就是將矩形的四條邊進行離散化處理,將線段排序,然后再依次掃描,大體思路是這樣的,具體細節沒怎么看。

            posted on 2011-02-01 20:55 quxiao 閱讀(216) 評論(0)  編輯 收藏 引用
            欧洲成人午夜精品无码区久久| 久久天堂AV综合合色蜜桃网| 人妻无码久久精品| 日本高清无卡码一区二区久久 | 久久无码精品一区二区三区| 亚州日韩精品专区久久久| 久久久一本精品99久久精品88| 成人亚洲欧美久久久久| 亚洲va久久久噜噜噜久久 | 一本色道久久综合狠狠躁篇| 久久精品国产亚洲av高清漫画| 久久精品国产亚洲AV不卡| 久久久噜噜噜久久熟女AA片| 久久亚洲国产最新网站| 精品久久久久久久久久中文字幕| 久久久久无码精品国产| 久久精品免费全国观看国产| 国产精品久久久久乳精品爆| 国产高潮国产高潮久久久| 久久成人国产精品免费软件| 亚洲精品国产自在久久| 三级韩国一区久久二区综合| 国产精品嫩草影院久久| 欧美激情精品久久久久| 久久国产精品久久精品国产| 国内精品九九久久久精品| 天天爽天天狠久久久综合麻豆| 久久精品日日躁夜夜躁欧美| 中文成人无码精品久久久不卡| 国产精品免费久久久久久久久 | 伊人久久大香线蕉AV色婷婷色| 亚洲欧美另类日本久久国产真实乱对白 | 亚洲性久久久影院| 无码乱码观看精品久久| 欧美激情精品久久久久久久九九九| 国产精品免费久久久久久久久 | 欧美黑人又粗又大久久久| 一本色道久久综合狠狠躁| 婷婷久久久亚洲欧洲日产国码AV | 久久久久国产一区二区| 亚洲精品NV久久久久久久久久|