兩臺(tái)處理機(jī)A 和B處理n個(gè)作業(yè)。設(shè)第i個(gè)作業(yè)交給機(jī)器
A 處理時(shí)需要時(shí)間ai,若由機(jī)器B 來(lái)處理,則需要時(shí)間bi。由于各作
業(yè)的特點(diǎn)和機(jī)器的性能關(guān)系,很可能對(duì)于某些i,有ai >=bi,而對(duì)于
某些j,j!=i,有aj<bj。既不能將一個(gè)作業(yè)分開(kāi)由兩臺(tái)機(jī)器處理,也沒(méi)
有一臺(tái)機(jī)器能同時(shí)處理2 個(gè)作業(yè)。設(shè)計(jì)一個(gè)動(dòng)態(tài)規(guī)劃算法,使得這兩
臺(tái)機(jī)器處理完成這n 個(gè)作業(yè)的時(shí)間最短(從任何一臺(tái)機(jī)器開(kāi)工到最后
一臺(tái)機(jī)器停工的總時(shí)間)。研究一個(gè)實(shí)例:(a1,a2,a3,a4,a5,a6)=
(2,5,7,10,5,2);(b1,b2,b3,b4,b5,b6)=(3,8,4,11,3,4)
標(biāo)簽:
處理機(jī)
機(jī)器
上傳時(shí)間:
2014-01-14
上傳用戶(hù):獨(dú)孤求源
Euler函數(shù):
m = p1^r1 * p2^r2 * …… * pn^rn ai >= 1 , 1 <= i <= n
Euler函數(shù):
定義:phi(m) 表示小于等于m并且與m互質(zhì)的正整數(shù)的個(gè)數(shù)。
phi(m) = p1^(r1-1)*(p1-1) * p2^(r2-1)*(p2-1) * …… * pn^(rn-1)*(pn-1)
= m*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pn)
= p1^(r1-1)*p2^(r2-1)* …… * pn^(rn-1)*phi(p1*p2*……*pn)
定理:若(a , m) = 1 則有 a^phi(m) = 1 (mod m) 即a^phi(m) - 1 整出m
在實(shí)際代碼中可以用類(lèi)似素?cái)?shù)篩法求出
for (i = 1 i < MAXN i++)
phi[i] = i
for (i = 2 i < MAXN i++)
if (phi[i] == i)
{
for (j = i j < MAXN j += i)
{
phi[j] /= i
phi[j] *= i - 1
}
}
容斥原理:定義phi(p) 為比p小的與p互素的數(shù)的個(gè)數(shù)
設(shè)n的素因子有p1, p2, p3, … pk
包含p1, p2…的個(gè)數(shù)為n/p1, n/p2…
包含p1*p2, p2*p3…的個(gè)數(shù)為n/(p1*p2)…
phi(n) = n - sigm_[i = 1](n/pi) + sigm_[i!=j](n/(pi*pj)) - …… +- n/(p1*p2……pk)
= n*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pk)
標(biāo)簽:
Euler
lt
phi
函數(shù)
上傳時(shí)間:
2014-01-10
上傳用戶(hù):wkchong