最大匹配 PKU 2536

2021-06-08 00:53:40 字數 840 閱讀 8828

問題描述及分析:

該題較簡單,題意是

給出m個動物的地點,

n個洞,還有速度和時間

(其實就是給了距離),問

m個動物最多能有幾個在規定的時間裡一規定的速度躲到洞裡逃生。典型的二分圖匹配的問題,動物的位置為左邊的結點,洞為右邊的結點,如果他們的距離小於等於時間

×速度,我們就認為他們是連線的,否則認為不連線,我們只要計算最大二分圖匹配數,就是可以逃生的動物數,用總數減去匹配數就是不能逃生的,即為所求。

用匈牙利演算法如下:

#include#include#define max 101

using namespace std;

int map[max][max]; // 記地圖錄

int link[max]; // link[y] 記錄 與 y 節點相連的 x

int visit[max];// 將對 y 節點進行擴充過的記錄在 visit[y] 為1

int gn,gm; // gn 表示 匹配的 x gm 表示匹配的 y 的個數

typedef struct nodenode;

node gopher[max],hole[max];

bool can(int s)

} }return false;

}int maxmatch()

return num;

}double dis( node x ,node y)

int main(void)

for(i=1;i<=m;i++)

// 計算距離

for(i=1; i<=n;i++)

}} gn = n; gm = m;

cout<

python雙向最大匹配演算法 雙向最大匹配分詞演算法

usr bin python encoding gbk import sys dictmaxlength 5 dctdict encoding gbk 初始化字典 初始化最大詞長 def initdct dct global dctdict global dictmaxlength dctobj o...

正向最大匹配

按照網上資料,中文分詞演算法可分為三大類 基於字典 詞庫匹配的分詞方法 基於詞頻度統計的分詞方法和基於知識理解的分詞方法。基於詞庫的方法,有幾個問題要解決,一是詞庫和資料結構,二是字串在詞庫的匹配方式,三是多種滿足匹配的選擇。正向最大匹配是基於詞庫的分詞方法,基本思想是按照文字的正方向,與詞庫中的詞...

最大匹配演算法

最大匹配法是最簡單的分詞方法,他完全使用詞典進行分詞,如果詞典好,則分詞的效果好 正向,即從左往右進行匹配 maximum match method 最大匹配法 class mm def init self self.window size 4 def cut self,text result in...