hdu KM小集(中低難度)

2021-06-17 17:35:23 字數 1325 閱讀 5979

源自-------------------------------------ice_crazy

hdu2255

km模板題。

hdu3722

km模板題。

hdu3395

km水題。

hdu2448

km+最短路,不難,兩部分都是果的。注意這句「ships are only allowed to sail between

mining stations which can communicate with each other directly.」

hdu3718

假設用序列2中的字母a來和序列1中的字母c等效,那麼可以有map[a][c]=count,count為

兩個序列放在一起,情況1出現的次數。情況1:「set1[i]=='c' && set2[l]=='a' && i==l」。

那麼根據這個建圖、km就行了。

hdu2282

巧克力和盒子,邊就是每個巧克力到某個盒子的距離(注意盒子的擺放是環形的)。

hdu2426

n!=m的km。

hdu2853

km小變異。

如果只是km的話很簡單,但是還要盡量少移動,那麼就有難度了囧~,用的是網上學來的方

法:每個邊權值變為k倍(k>n),然後讓原本已經match的那幾條邊邊權+1,那麼就加重了我

們想盡量保持不變的邊的權值。最後匹配完後的sum/k就是總匹配出來的結果,而sum%k就是

沒有被刪除的原有組合。

hdu1853

km小變異

看到這題的第一反應不是用km,但是有人用km乾掉呀,所以我就想為什麼可以用km呀,然後

就想到了呀:如果km整出了完美匹配,那麼對於每個node,有:「有進有出」,所以自然就有環了~,

so~,km可行~。

hdu3488

km小變異,和hdu1853同一題。

hdu3435

km小變異,和上面倆題(hdu1853、hdu3488)是同一題,只不過這個題中邊是無向的。

hdu1533

km小變異,求最小匹配。

兩種方法:

一. 我們了解了km求最大匹配的原理了,那麼把演算法稍微修改一下,讓演算法求最小匹配。:

二. 但是第一種方法多多少少還是有點兒麻煩呢,那怎麼辦呢?我們不妨來《修改資料》,

讓權值最小的邊變為權值最大的邊,依次類推,不就ok了麼~。

我的選擇是,將所有邊的權值乘上-1,然後加上k(k>=max(abs(邊權)))。

原創----------------------------ice_crazy。

當然這想法還是挺容易想到的。

hdu KM匹配題集

模板 2255 1 author usedrose 2 created time 2015 8 30 1 20 31 3 file name 2.cpp 4 pragma comment linker,stack 1024000000,1024000000 5 include 6 include 7...

EXT 最小集合

想把ext放入自己的專案,需要自己整理一下,因為發布包裡的東西並非都是必要的,比如文件,比如例子,比如源 必要的最小集合是這樣 ext all.js,adapter ext ext base.js,build locale ext lang zh cn.js和整個resources目錄。ext al...

HTML CSS問題小集合

1.常用到的塊狀元素如 自帶換行 form aside 行級行行級元素有 斜體刪除線下劃線 2.多行文字如何垂直居中?div margin padding vertical align 1 table布局 display table display table cell 缺點 不相容ie6,ie7。...