• <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 注意根據(jù)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的方程 根據(jù)A點坐標求出AB的方程 再求出AB與L的交點Y 接著就是A' = 2 * Y - X
             
            7.求50000個點的最遠距離 先用NlogN的算法求凸包 再枚舉點距
             
            8.判斷一個點是否在一個多邊形內 可以沿這個點做一條射線 然后判斷這個點與其他邊的交點的個數(shù) 如果是偶數(shù)則在外部 如果為奇數(shù) 則在里面 如果在邊界 可以用點線距為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 則可以現(xiàn)用maxy[x], miny[x]來保存縱坐標的最大值 和 最小值 顯然只有這些點才可能出現(xiàn)在凸包上面 然后使用Graham-Scan算法按橫坐標從小到大排序求凸包即可(藍書P8) 這樣排序的時間從nlogn 變成N

            1.怎樣由凸包上面的點確定最大的三角形面積?
            枚舉每一個點a
              定下b點為a+1 c為a+2
                移動c點直到面積不再增加(因為是凸多邊形 故面積呈現(xiàn)先增后減序列)
                  移動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
            就是因為凸多邊形是凸的 所以如果你確定兩點移第三點會出現(xiàn)先增后減
            天天爽天天狠久久久综合麻豆| 久久91精品综合国产首页| 久久久久亚洲AV片无码下载蜜桃| 亚洲性久久久影院| 久久久久人妻精品一区二区三区| 久久99国产亚洲高清观看首页| 精品久久久久中文字| 久久久久波多野结衣高潮| 精品熟女少妇av免费久久| 久久99精品久久久久久秒播| 97精品依人久久久大香线蕉97| 国产99久久久国产精品~~牛| 久久精品国产男包| 久久久久久亚洲精品无码| av国内精品久久久久影院| 久久大香萑太香蕉av| 久久精品国产免费一区| 国产V综合V亚洲欧美久久| 久久久国产亚洲精品| 精品人妻伦九区久久AAA片69 | 久久国产高潮流白浆免费观看| 国产精品一区二区久久精品无码| 久久人人爽人人爽人人AV东京热 | 亚洲愉拍99热成人精品热久久 | 久久精品国产精品亚洲| 国产亚洲欧美精品久久久| 国产美女亚洲精品久久久综合| 久久久久久国产精品美女| 一级做a爰片久久毛片16| 精品久久久久久亚洲| 国产精品岛国久久久久| 国产亚洲综合久久系列| 精品久久777| 国产精品熟女福利久久AV| 国产视频久久| 久久综合九色综合欧美就去吻| 久久久精品国产亚洲成人满18免费网站| 精品久久香蕉国产线看观看亚洲 | 国产精品免费久久| 开心久久婷婷综合中文字幕| 欧美日韩精品久久久久|