首先黑點和白點是組成乙個二分圖這毫無疑問
關鍵是題目中要求的所有黑白配的線不能交叉。。。一開始我也沒想到這個怎麼轉化為二分圖裡面的演算法。
後來看書才知道,如果兩兩交叉,則可以把兩根線當四邊形的對角線,連四邊形的兩條邊,則肯定不交叉,而且乙個很明顯的特徵是,不交叉的兩條線的他們的長度和 一定比交叉線的長度和小。
於是我們只要求出最小長度的線,就必定是不相交的。那就要用到最佳完美匹配了,首先算出兩兩點的歐幾里得距離,然後取負數,這樣走一遍匹配,得到的必定是最短的歐幾里得距離,即不相交的線
#include #include#include
#include
#include
using
namespace
std;
struct
node
n1[110],n2[110
];int n,s[110],t[110],lefts[110],rights[110
];double w[110][110],lx[110],ly[110
];bool eq(double a, double
b) bool dfs(int
u) }
return
false;}
void
up()
for (int i=1;i<=n;i++)
}void
km()
}for (i=1;i<=n;i++)
}}int
main()
km();
for (int i=1;i<=n;i++)
printf(
"%d\n
",rights[i]);
}return0;
}
轉 Yolov3轉化Caffe框架詳解
前些日子因工程需求,需要將yolov3從基於darknet轉化為基於caffe框架,過程中踩了一些坑,特在此記錄一下。想要轉化為caffe框架,就要先了解yolov3的網路結構,如下圖。如果有執行過darknet應該會很熟悉,這是darknet執行成功後列印log資訊,這裡面包含了yolo網路結構的...
(YUV420轉化RGB24)編譯通過
做了一段時間的攝像頭,看了網上很多帖子,也學習了不少東西,自己總結下,希望給需要的人以參考 自己測試過,沒有問題,廢話少說。說說我的環境吧 系統 fc4,ubuntu 7.04,8.04 均測試過 攝像頭 網眼v2000 介面 qt3.3 核心首先ov511 預設輸出是yuv420,一下是實現yuv...
Pyqt5轉化 ui檔案到 py檔案
python環境下,pyqt5是開發ui的首選,借助qtdesigner,可以更快速的開發。我們需要把.ui檔案轉換成.py以方便在程式中的呼叫。開發環境是pycharm anaconda pyqt5。在上述開發環境搭建成功的情況下,假設在gui這個目錄下建立了多個.ui檔案,可以使用指令碼進行統一...