2009-06-01 43 views
1

我試圖找出一種方法來分配N個不同的操作數(b1,b2,...,bn),其中b1,b2,... bn是在一個固定的比率,這是由另一組操作數確定的(A1,A2,...,AN)在N個不同的操作數上分配總和S

考慮一個情況,其中:

候選A獲得從N個選區共Ta票,與分配:{a1, a2, a3 .. aN}

候選人B獲得總計Tb票(TaTb是unr這意味着Ta < Tb,Ta = Tb & Ta > Tb都是可能的)來自M個選區(IMP:M < = N),分佈未知。

向選區b1,b2,b3 .. bM分配Tb選票的最佳方法是什麼,以便它們以與a1,a2,a3 .. aN相同的比例分配。

有些情況是:

1.Ideal

Ta = 20 (8,6,4,2) Tb = 10 

然後我們得到:TB(4,3,2,1)

2.Somewhat不太理想的

Ta = 20(8 ,6, 4, 1 , 1) Tb = 10 

然後我們得到(4,3,2,1,0),其實際上意味着(4,3,2,1)(M < N),並且仍然可以容忍。

+0

你可以用M 2009-06-01 15:06:11

+0

第二個例子實際上是M Swanand 2009-06-01 16:32:59

+0

你可以自由選擇M嗎?你被允許採取任意小的M(儘管這不太可能是一個好主意)? – ShreevatsaR 2009-06-01 16:52:36

回答

1

一個簡單的解決方案:

BR = AR *(TB/TA)

實際上並不複雜範圍或一個不匹配的Ta和Tb

一樣,鉭工作= 22(5,5,4,2,1,1,1,1,1,1) 和Tb = 7

UPDATE: 我跟着以下規則去最佳的解決方案:

  1. 保持比例爲(Tb/Ta)並保持分佈,直到用完爲止。每當你四捨五入,四捨五入即3.24→4和3.68也是 - > 4
  2. 例如,這裏:b1 = 5 * 7/22 => 2,b2 = 5 * 7/22 = 2,b3 = 4 * 7/22 = 2,b4 = 1(因爲只剩下一個)

有Tb = 7(2,2,2,1)這是最接近(5,5,4,2)

1

您的a_i總是排序嗎?假設是這種情況,首先要從a_i的第一個值開始分配b_i。

相關問題