2010-03-08

[離散]成大CS-99

倒數第二題

女男配對問題

四女 五男

女1不配男1,3,5

女2不配男1,4

女3不配男2,4,5

女4不配男4

問可能的配對方法數

詳細的配對限制忘記了 不過大概就是要問這種問題

請問怎樣做呢 排容 ? 暴力法畫tree ?

7 則留言:

  1. 你題目好像記錯了~
    用rook polynomial可以秒殺
    請參考 http://zjhwang.blogspot.com/2009/12/2.html

    回覆刪除
  2. 數據忘記了... 只記得題意

    感謝回答 ^^

    回覆刪除
  3. 題目應該是這樣
    四女 五男

    女1不配男1,3,5

    女2不配男2,4

    女3不配男3,5

    女4不配男4

    請問root該怎麼做呢?不大清楚

    回覆刪除
  4. 這題可用rook、排容、tree、暴力法解,
    個人當時實際操作是以tree最快,因為女1已經限制不和1,3,5了,所以只有兩種可能(2,4)。tree只花了2分鐘..就得15分= =

    不過rook應該也會很快

    回覆刪除
  5. 暴力法還可以算的出來
    我用 pai 記的版本寫一下這題用rook polynomial來算的方法, 細節部分請參考╰(〒皿〒)╯幫忙轉的那一篇

    假設 row i 是女i, column j 代表男j,
    一開始畫出來的禁位表長這樣:
      一  二  三  四  五
    1 |x| |x| |x|
    2 | |x| |x| |
    3 | | |x| |x|
    4 | | | |x| |

    適當的調換列、行, 把 x 集中到若干個 blocks:
      一  三  五  二  四
    1 |x|x|x| | |
    3 | |x|x| | |
    2 | | | |x|x|
    4 | | | | |x|

    左上角 r(C1,x) = 1 + 5x + 4x^2
    右下角 r(C2,x) = 1 + 3x + x^2
    r(C,x) = r(C1,x)r(C2,x)
    = 1 + 8x + 20x^2 + 17x^3 + 4x^4

    所以總數就是
    (5*4*3*2) - 8*(4*3*2) + 20*(3*2) - 17*2 + 4 = 18

    回覆刪除
  6. 天哪...我用排容還算錯...成大消失了

    回覆刪除