兩臺處理機A 和B處理n個作業。設第i個作業交給機器 A 處理時需要時間ai,若由機器B 來處理,則需要時間bi。由于各作 業的特點和機器的性能關系,很可能對于某些i,有ai >=bi,而對于 某些j,j!=i,有aj<bj。既不能將一個作業分開由兩臺機器處理,也沒 有一臺機器能同時處理2 個作業。設計一個動態規劃算法,使得這兩 臺機器處理完成這n 個作業的時間最短(從任何一臺機器開工到最后 一臺機器停工的總時間)。研究一個實例:(a1,a2,a3,a4,a5,a6)= (2,5,7,10,5,2);(b1,b2,b3,b4,b5,b6)=(3,8,4,11,3,4)
上傳時間: 2014-01-14
上傳用戶:獨孤求源
Euler函數: m = p1^r1 * p2^r2 * …… * pn^rn ai >= 1 , 1 <= i <= n Euler函數: 定義:phi(m) 表示小于等于m并且與m互質的正整數的個數。 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 在實際代碼中可以用類似素數篩法求出 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互素的數的個數 設n的素因子有p1, p2, p3, … pk 包含p1, p2…的個數為n/p1, n/p2… 包含p1*p2, p2*p3…的個數為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)
上傳時間: 2014-01-10
上傳用戶:wkchong
//Euler 函數前n項和 /* phi(n) 為n的Euler原函數 if( (n/p) % i == 0 ) phi(n)=phi(n/p)*i else phi(n)=phi(n/p)*(i-1) 對于約數:divnum 如果i|pr[j] 那么 divnum[i*pr[j]]=divsum[i]/(e[i]+1)*(e[i]+2) //最小素因子次數加1 否則 divnum[i*pr[j]]=divnum[i]*divnum[pr[j]] //滿足積性函數條件 對于素因子的冪次 e[i] 如果i|pr[j] e[i*pr[j]]=e[i]+1 //最小素因子次數加1 否則 e[i*pr[j]]=1 //pr[j]為1次 對于本題: 1. 篩素數的時候首先會判斷i是否是素數。 根據定義,當 x 是素數時 phi[x] = x-1 因此這里我們可以直接寫上 phi[i] = i-1 2. 接著我們會看prime[j]是否是i的約數 如果是,那么根據上述推導,我們有:phi[ i * prime[j] ] = phi[i] * prime[j] 否則 phi[ i * prime[j] ] = phi[i] * (prime[j]-1) (其實這里prime[j]-1就是phi[prime[j]],利用了歐拉函數的積性) 經過以上改良,在篩完素數后,我們就計算出了phi[]的所有值。 我們求出phi[]的前綴和 */
上傳時間: 2016-12-31
上傳用戶:gyq
Visual 開發 希望對你們有幫助 public static int Rom(int n, int m)//雙寄或雙偶 { int count = 0 //第一排Y坐標上要幾個 if (n < m) { for (int i = 1 i <= n i = i + 2) { count++ } } else { for (int j = 1 j <= m j = j + 2) { count++ } } return count }
上傳時間: 2013-12-13
上傳用戶:懶龍1988
歐基理德輾轉相除法(之一) 以歐基理德輾轉相除法求出m,n這2個整數的最大公因數
標簽: 除法
上傳時間: 2013-12-30
上傳用戶:wangzhen1990
設有由n個不相同的整數組成的數列,記為: a(1)、a(2)、……、a(n)且a(i)<>a(j) (i<>j) 例如3,18,7,14,10,12,23,41,16,24。 若存在i1<i2<i3< … < ie 且有a(i1)<a(i2)< … <a(ie)則稱為長度為e的不下降序列。如上例中3,18,23,24就是一個長度為4的不下降序列,同時也有3,7,10,12,16,24長度為6的不下降序列。程序要求,當原數列給出之后,求出最長的不下降序列。
上傳時間: 2013-12-14
上傳用戶:tonyshao
一份射頻PCB設計的經驗總結。涉及到手機,GPS,等高頻電路的PCB設計方法。
標簽: PCB
上傳時間: 2017-07-21
上傳用戶:sssl
c++ Ngô n ngữ C cho vi đ iề u khiể n Các tài liệ u tham khả o, ebook. Programming Microcontrollers in C (Ted Van Sickle) C Programming for Microcontrollers (Joe Pardue SmileyMicros.com ) Programming 16-Bit PIC Microcontrollers in C (Jucio di jasio ) C Programming for AVR Programming embedded system I,II (Michael J . Pont ) ( các tài liệ u này đ ã down load về )
上傳時間: 2017-07-29
上傳用戶:壞壞的華仔
迷宮問題以一個m*n的長方陣表示迷宮,0和1分別表示迷宮中的通路和障礙.設計一個程序,對任意設定的迷宮,求出一條入口到出口的通路,或的出沒有通路的結論. {基本要求}: (1)實現一個以鏈表作存儲結構的棧類型,然后編寫一個求解迷宮的非遞歸程序。求得的通路以三元組(i,j,d)的形式輸出,其中:(i,j)指示迷宮中的一個坐標,d表示走到下一個坐標的方向. (2)編寫遞歸形式的算法,求迷宮中所有通路. (3)以方陣形式輸出迷宮及其通路
標簽: 迷宮
上傳時間: 2014-01-03
上傳用戶:zhengzg
摘要:以N溝道増強型場效應管為核心,基于H橋PWM控制原理,設計了一種直流電機正反轉調速驅動控制電路,滿足大功率直流電機驅動控制。實驗表明該驅動控制電路具有結構簡單、驅動能力強、功耗低的特點。關鍵詞:N溝道增強型場效應管;H橋;PWM控制;電荷泵;功率放大;直流電機1引言長期以來,直流電機以其良好的線性特性、優異的控制性能等特點成為大多數變速運動控制和閉環位置伺服控制系統的最佳選擇。特別隨著計算機在控制領域,高開關頻率、全控型第二代電力半導體器件(GTR、GTO、MOSFET.、IGBT等)的發展,以及脈寬調制(PWM直流調速技術的應用,直流電機得到廣泛應用。為適應小型直流電機的使用需求,各半導體廠商推出了直流電機控制專用集成電路,構成基于微處理器控制的直流電機伺服系統。但是,專用集成電路構成的直流電機驅動器的輸出功率有限,不適合大功率直流電機驅動需求。因此采用N溝道増強型場效應管構建H橋,實現大功率直流電機驅動控制。該驅動電路能夠滿足各種類型直流電機需求,并具有快速、精確、高效、低功耗等特點,可直接與微處理器接口,可應用PWM技術實現直流電機調速控制。2直流電機驅動控制電路總體結構直流電機驅動控制電路分為光電隔離電路、電機驅動邏輯電路、驅動信號放大電路、電荷泵路、H橋功率驅動電路等四部分,其電路框圖如圖1所示。由圖可以看出,電機驅動控制電路的外圍接口簡單。其主要控制信號有電機運轉方向信號Dir電機調速信號PWM及電機制動信號 Brake,vcc為驅動邏輯電路部分提供電源,Vm為電機電源電壓,M+、M-為直流電機接口。
上傳時間: 2022-04-10
上傳用戶:jiabin