• <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>

            oyjpArt ACM/ICPC算法程序設計空間

            // I am new in programming, welcome to my blog
            I am oyjpart(alpc12, 四城)
            posts - 224, comments - 694, trackbacks - 0, articles - 6
            1.點積Dot Product Cos(θ) = (A ⋅ B)/(|A||B|) so we can get angle θ by acos function , θ 是A,B的夾角 沒有正負
             
            2.叉積Cross Product  A x B = |A||B|Sin(θ) , θ 的正負由A,B的右手定則決定
            其值同時代表A,B形成的平行四邊形的面積
             
            3.線段與點之間距離Line-Point Distance L = | (AB x AC)/|AB| |其中L是從C到A,B這條直線的距離 因為AB x AC/2是ABC形成的三角形面積 而三角形面積也等于|AB|*L/2 注意根據cross product的定義 L值應該取絕對值
             
            4.求垂直平分線 首先構造AB的方程 Ax+By=C 則平分線方程為 -Bx+Ay=D 把AB的中點代入進去就得到了D
             
            5.求3點共圓 A,B,C 首先做出 AB 和 BC的平分線 求出交點o 則交點o就是圓心 而 dis(o, B)就是半徑

            6.求點A相對一直線L的對面點B 首先得到AB的方程 根據A點坐標求出AB的方程 再求出AB與L的交點Y 接著就是A' = 2 * Y - X
             
            7.求50000個點的最遠距離 先用NlogN的算法求凸包 再枚舉點距
             
            8.判斷一個點是否在一個多邊形內 可以沿這個點做一條射線 然后判斷這個點與其他邊的交點的個數 如果是偶數則在外部 如果為奇數 則在里面 如果在邊界 可以用點線距為0來判斷
             
            9.球坐標轉化成立體坐標   
                double x = sin(lng/180*PI)*cos(lat/180*PI)*alt;
                double y = cos(lng/180*PI)*cos(lat/180*PI)*alt;
                double z = sin(lat/180*PI)*alt;
            2.關于凸包的題目

            gift-Wrapping算法復雜度O(n^2)很慢
            Gram-Scan算法復雜度為O(NlogN) 但是極角序存在一些問題 所以最好寫成水平序

            Melkan算法是對于多邊形的凸包算法 效率為O(N) 但是對于點集首先要用排序將其轉化成多邊形(復雜度為(NlogN)) 不實用

            如果點是有限制的 比如0 <= x,y <= N 則可以現用maxy[x], miny[x]來保存縱坐標的最大值 和 最小值 顯然只有這些點才可能出現在凸包上面 然后使用Graham-Scan算法按橫坐標從小到大排序求凸包即可(藍書P8) 這樣排序的時間從nlogn 變成N

            1.怎樣由凸包上面的點確定最大的三角形面積?
            枚舉每一個點a
              定下b點為a+1 c為a+2
                移動c點直到面積不再增加(因為是凸多邊形 故面積呈現先增后減序列)
                  移動b點在a,c之間 直到面積不再增加
                

            Feedback

            # re: 總結一下最近做的計算幾何學到的知識  回復  更多評論   

            2007-05-28 13:25 by eyye
            我對凸包算法很感興趣,我正在做的Plot3D ( http://eyye.cnblogs.com )在構造多面體時就是在進行凸包計算。

            # re: 總結一下最近做的計算幾何學到的知識  回復  更多評論   

            2007-05-28 14:54 by oyjpart
            呵呵 確實好玩 不過我不是很懂。。呵呵~~

            # re: 總結一下最近做的計算幾何學到的知識  回復  更多評論   

            2007-06-10 12:39 by 星夢情緣
            凸包是什么啊,我是新手,樓主能解釋一下嗎???

            # re: 總結一下最近做的計算幾何學到的知識  回復  更多評論   

            2007-06-10 17:54 by oyjpart
            我的理解很粗淺哎 我覺得就是對于平面內離散的點集S
            凸包就是S的一個子集S1形成的一個凸多邊形 使所有的點都包含在這個凸包C或在C的邊上

            # re: 總結一下最近做的計算幾何學到的知識  回復  更多評論   

            2007-08-12 18:16 by mb
            樓主,最后一個三角形面積能解釋一下嗎?為什么這么做就行了?

            # re: 總結一下最近做的計算幾何學到的知識  回復  更多評論   

            2007-08-13 09:18 by oyjpart
            就是因為凸多邊形是凸的 所以如果你確定兩點移第三點會出現先增后減
            国产精品无码久久久久| 久久久这里只有精品加勒比| 偷偷做久久久久网站| 久久亚洲AV成人无码软件| 东方aⅴ免费观看久久av| 久久亚洲欧美国产精品| 久久综合综合久久97色| 欧美精品一区二区久久| 久久国产欧美日韩精品| 久久亚洲高清观看| 亚洲一级Av无码毛片久久精品| 欧美黑人激情性久久| 久久精品国产亚洲麻豆| 久久综合亚洲鲁鲁五月天| 久久国产精品久久| 国产激情久久久久久熟女老人 | 国产欧美久久一区二区| 久久久久久青草大香综合精品| 99久久精品免费看国产一区二区三区| 99久久综合狠狠综合久久止| 要久久爱在线免费观看| 久久99精品国产99久久| 亚洲va久久久噜噜噜久久天堂| 情人伊人久久综合亚洲| 少妇久久久久久被弄高潮| 久久伊人色| 国产三级观看久久| 99久久99这里只有免费的精品| 热99RE久久精品这里都是精品免费 | 久久综合噜噜激激的五月天| 久久99精品国产99久久6| 久久精品国产亚洲av日韩| 欧美亚洲国产精品久久久久| 精品无码久久久久久久动漫| 九九久久自然熟的香蕉图片| 91麻豆国产精品91久久久| 亚洲国产成人久久精品99| 久久97久久97精品免视看| 伊人久久精品线影院| 一本一道久久精品综合| 亚洲天堂久久精品|