HDU 3315 My Brute(費用流)
題目地址:HDU 3315
這個題的思路完全是自己想出來的,自我感覺挺巧妙的。。。(大牛勿噴。。。)對大膽建圖又多了一份信心。
具體思路是構造一個二分圖,Si連源點,Xi連匯點,流量都是1,費用0.然後當Si可以贏Xj的時候,就對這兩人連一條邊,費用值為-Vi*1000,如果i==j的話,費用值就再減1,因為題目要求盡量不改變原先的順序,所以說應該盡量讓序號相同的對打。而費用值減1的話,會優先考慮序號相同的,而且讓費用擴大了1000倍,此時也不會改變主要的分數因素大小。同理,輸的話,費用值為Vi*1000,如果i==j的話,費用值同樣減1。
最後算出的最大費用cost/1000就是正確的費用值,cost%1000就是改變順序了的數目。然後做相應判斷與計算即可。
代碼如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include