• <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
            就是因為凸多邊形是凸的 所以如果你確定兩點移第三點會出現先增后減
            久久99国产精品久久| 久久99精品国产自在现线小黄鸭| 国产一区二区三区久久| 亚洲国产精品久久久久婷婷软件 | AAA级久久久精品无码片| 91久久精一区二区三区大全| 青青青国产成人久久111网站| 久久久久国色AV免费看图片| 97久久国产综合精品女不卡| 女人香蕉久久**毛片精品| 免费无码国产欧美久久18| 99久久免费国产精精品| 中文成人久久久久影院免费观看| 国产午夜精品久久久久免费视| 久久精品18| 伊人色综合久久| 人妻精品久久无码专区精东影业 | 久久99精品久久久久久噜噜| 国产A级毛片久久久精品毛片| 激情五月综合综合久久69| 久久精品中文无码资源站| 亚洲国产精品综合久久一线| 久久国产高清字幕中文| 久久99精品国产麻豆宅宅| 国产精品亚洲美女久久久| 成人资源影音先锋久久资源网| 无码人妻久久一区二区三区免费| 久久久久久青草大香综合精品| 2021久久精品国产99国产精品| 久久热这里只有精品在线观看| 色偷偷88欧美精品久久久| 激情久久久久久久久久| 狠狠久久综合伊人不卡| 久久播电影网| 久久久久久国产精品美女| 久久美女人爽女人爽| 久久九九青青国产精品| 国产精久久一区二区三区| 亚洲国产成人久久综合一 | 久久精品国产国产精品四凭| 国产国产成人久久精品|