日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

曼哈顿距离与切比雪夫距离的转化及prufer序列

發布時間:2023/12/3 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 曼哈顿距离与切比雪夫距离的转化及prufer序列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 曼哈頓距離與切比雪夫距離的相互轉化
  • prufer序列

  • 1. 曼哈頓距離 與 切比雪夫距離 的相互轉化

    曼哈頓距離

    |x1?x2|+|y1?y2|=max(x1?x2+y1?y2,x1?x2?y1+y2,?x1+x2+y1?y2,?x1+x2?y1+y2)|x1?x2|+|y1?y2|=max(x1?x2+y1?y2,x1?x2?y1+y2,?x1+x2+y1?y2,?x1+x2?y1+y2)
    與某一個點的曼哈頓距離均為d的所有點構成了一個以該點為中心的對角線長度為2d的菱形。

    切比雪夫距離

    max(|x1?x2|,|y1?y2|)=max(x1?x2,x1+x2,y1?y2,y1+y2)max(|x1?x2|,|y1?y2|)=max(x1?x2,x1+x2,y1?y2,y1+y2)
    與某一個點的切比雪夫距離均為d的所有點構成了一個以該點為中心的邊長為2d的正方形。

    兩種距離之間的轉化

    由于兩種等距離的形狀均為正方形,因此可以通過旋轉坐標系來互相轉化。

    (1)曼哈頓距離->切比雪夫距離

    將所有的點做變換(x,y)(x,y)->(x+y,x?y)(x+y,x?y)

    證明

    x3=x1+y1,y3=x1?y1,x4=x2+y2,y4=x2?y2x3=x1+y1,y3=x1?y1,x4=x2+y2,y4=x2?y2
    |x1?x2|+|y1?y2|=max(x1?x2+y1?y2,x1?x2?y1+y2,?x1+x2+y1?y2,?x1+x2?y1+y2)=max(x3?x4,y3?y4,?y3+y4,?x3+x4)=max(|x3?x4|,|y3?y4|)|x1?x2|+|y1?y2|=max(x1?x2+y1?y2,x1?x2?y1+y2,?x1+x2+y1?y2,?x1+x2?y1+y2)=max(x3?x4,y3?y4,?y3+y4,?x3+x4)=max(|x3?x4|,|y3?y4|)

    (2)切比雪夫距離->曼哈頓距離

    將所有的點做變換(x,y)(x,y)->(x+y2,x?y2)(x+y2,x?y2)

    證明

    x3=x1+y12,y3=x1?y12,x4=x2+y22,y4=x2?y22x3=x1+y12,y3=x1?y12,x4=x2+y22,y4=x2?y22
    max(|x1?x2|,|y1?y2|)=max(x1?x2,?x1+x2,y1?y2,?y1+y2)=max(x3+y3?x4?y4,?x3?y3+x4+y4,y3?x3+y4?x4,?y3+x3?y4+x4)=|x3?x4|+|y3?y4|max(|x1?x2|,|y1?y2|)=max(x1?x2,?x1+x2,y1?y2,?y1+y2)=max(x3+y3?x4?y4,?x3?y3+x4+y4,y3?x3+y4?x4,?y3+x3?y4+x4)=|x3?x4|+|y3?y4|


    2.prufer序列

    定義

    prufer序列是一顆帶編號的無根樹的編碼表示方式,一顆具有nn個節點的帶編號的無根樹有唯一的長為n?2n?2 的prufer序列。

    因為每種帶編號的無根樹對應唯一的prufer序列,所以prufer序列也被用作無根樹的計數。

    –如下圖的無根樹的prufer序列為–

    3,5,1,33,5,1,3

    1.如何從一個無根樹得到prufer序列?

    找樹的編號最小的葉子節點,然后將與葉子節點相連的節點編號加入到prufer序列中去,然后刪掉這個葉子節點。重復上述過程直到樹上只剩2個節點為止,即得到長為n?2n?2的prufer序列。

    顯然prufer序列是唯一的。

    2.如何從prufer序列恢復一顆無根樹?

    找到prufer序列中未出現過的,編號最小的點,這個點即為最遠一次被刪除掉的,把這個點與prufer序列中的第一個點相連,并彈出prufer中的這個點,重復上述操作,prufer序列處理完成后,剩余兩個點直接連到一起即可。

    3.重要性質

    1. prufer序列中每個編號出現的次數+1等于該編號的點在無根樹中的度數。

    2. nn個點的無向完全圖計數為n(n?2)n(n?2)

    3. nn個點,每個點的度數為D1,D2,...,DnD1,D2,...,Dn,則prufer序列的種數為(n?2)!(D1?1)!(D2?1)!...(Dn?1)!(n?2)!(D1?1)!(D2?1)!...(Dn?1)!

    例題

    nn個點中,其中有mm個點的度數是未知的,求生成樹的種數?

    remainremain為剩余出現次數
    remain=(n?2)?(Di1?1)?(Di2?1)?...?(Din?m?1)remain=(n?2)?(Di1?1)?(Di2?1)?...?(Din?m?1)

    先把mm個點看成是一種點。
    這樣答案就是(n?2)!(Di1?1)!(Di2?1)!...(Din?m?1)!remain!(n?2)!(Di1?1)!(Di2?1)!...(Din?m?1)!remain!
    而實際上剩余次數remainremain里面的點可以隨意填,形成各種不同的排列,即答案要乘以mremainmremain

    因此最終的答案就是:
    (n?2)!(Di1?1)!(Di2?1)!...(Din?m?1)!remain!mremain(n?2)!(Di1?1)!(Di2?1)!...(Din?m?1)!remain!mremain

    其他計數類型

    1.有標號有根樹的計數

    nn?2?n=nn?1nn?2?n=nn?1

    2.無標號無根樹的計數

    3.無標號有根樹的計數


    總結

    以上是生活随笔為你收集整理的曼哈顿距离与切比雪夫距离的转化及prufer序列的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。