日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > > 充電吧
[導(dǎo)讀]整數(shù)劃分 --- 一個(gè)老生長(zhǎng)談的問(wèn)題:  1) 練練組合數(shù)學(xué)能力.  2) 練練遞歸思想  3) 練練DP  總之是一道經(jīng)典的不能再經(jīng)典的題目:  這道好題求:  1. 將n劃分成若干正整數(shù)之和的劃分

整數(shù)劃分 --- 一個(gè)老生長(zhǎng)談的問(wèn)題:
  1) 練練組合數(shù)學(xué)能力.
  2) 練練遞歸思想
  3) 練練DP
  總之是一道經(jīng)典的不能再經(jīng)典的題目:
  這道好題求:
  1. 將n劃分成若干正整數(shù)之和的劃分?jǐn)?shù)。
  2. 將n劃分成k個(gè)正整數(shù)之和的劃分?jǐn)?shù)。
  3. 將n劃分成最大數(shù)不超過(guò)k的劃分?jǐn)?shù)。
  4. 將n劃分成若干奇正整數(shù)之和的劃分?jǐn)?shù)。
  5. 將n劃分成若干不同整數(shù)之和的劃分?jǐn)?shù)。

?

1.將n劃分成不大于m的劃分法:?

?  1).若是劃分多個(gè)整數(shù)可以存在相同的:

?   dp[n][m]= dp[n][m-1]+ dp[n-m][m]??dp[n][m]表示整數(shù) n 的劃分中,每個(gè)數(shù)不大于 m 的劃分?jǐn)?shù)。
?????  則劃分?jǐn)?shù)可以分為兩種情況:
?????  a.劃分中每個(gè)數(shù)都小于 m,相當(dāng)于每個(gè)數(shù)不大于 m- 1, 故劃分?jǐn)?shù)為 dp[n][m-1].
????  ?b.劃分中有一個(gè)數(shù)為 m. 那就在 n中減去 m ,剩下的就相當(dāng)于把 n-m 進(jìn)行劃分, 故劃分?jǐn)?shù)為 dp[n-m][m];

  2).若是劃分多個(gè)不同的整數(shù):

  dp[n][m]= dp[n][m-1]+ dp[n-m][m-1]?? dp[n][m]表示整數(shù) n 的劃分中,每個(gè)數(shù)不大于 m 的劃分?jǐn)?shù)。
???  ?同樣劃分情況分為兩種情況:
????  a.劃分中每個(gè)數(shù)都小于m,相當(dāng)于每個(gè)數(shù)不大于 m-1,劃分?jǐn)?shù)為 dp[n][m-1].
????  b.劃分中有一個(gè)數(shù)為 m.在n中減去m,剩下相當(dāng)對(duì)n-m進(jìn)行劃分,

   并且每一個(gè)數(shù)不大于m-1,故劃分?jǐn)?shù)為 dp[n-m][m-1]

  2.將n劃分成k個(gè)數(shù)的劃分法:

 dp[n][k]= dp[n-k][k]+ dp[n-1][k-1];

??   方法可以分為兩類:
??     第一類: n 份中不包含 1 的分法,為保證每份都 >= 2,可以先拿出 k 個(gè) 1 分
??   到每一份,然后再把剩下的 n- k 分成 k 份即可,分法有: dp[n-k][k]
??     第二類: n 份中至少有一份為 1 的分法,可以先那出一個(gè) 1 作為單獨(dú)的1份,剩
??   下的 n- 1 再分成 k- 1 份即可,分法有:dp[n-1][k-1]

  

  3.將n劃分成若干奇數(shù)的劃分法:(不懂)

    g[i][j]:將i劃分為j個(gè)偶數(shù)

    f[i][j]:將i劃分為j個(gè)奇數(shù)
  ???g[i][j] = f[i - j][j];
???  f[i][j] = f[i - 1][j - 1] + g[i - j][j];

?

    路過(guò)的大牛求解釋,謝謝~

  代碼如下所示:

/*
?*?hit1402.c
?*
?*??Created?on:?2011-10-11
?*??????Author:?bjfuwangzhu
?*/

#include#include#define?nmax?51
int?num[nmax][nmax];?//將i劃分為不大于j的個(gè)數(shù)
int?num1[nmax][nmax];?//將i劃分為不大于j的不同的數(shù)
int?num2[nmax][nmax];?//將i劃分為j個(gè)數(shù)
int?f[nmax][nmax];?//將i劃分為j個(gè)奇數(shù)
int?g[nmax][nmax];?//將i劃分為j個(gè)偶數(shù)
void?init()?{
????int?i,?j;
????for?(i?=?0;?i?<?nmax;?i++)?{
????????num[i][0]?=?0,?num[0][i]?=?0,?num1[i][0]?=?0,?num1[0][i]?=?0,?num2[i][0]?=
????????????????0,?num2[0][i]?=?0;
????}
????for?(i?=?1;?i?<?nmax;?i++)?{
????????for?(j?=?1;?j?<?nmax;?j++)?{
????????????if?(i?<?j)?{
????????????????num[i][j]?=?num[i][i];
????????????????num1[i][j]?=?num1[i][i];
????????????????num2[i][j]?=?0;
????????????}?else?if?(i?==?j)?{
????????????????num[i][j]?=?num[i][j?-?1]?+?1;
????????????????num1[i][j]?=?num1[i][j?-?1]?+?1;
????????????????num2[i][j]?=?1;

????????????}?else?{
????????????????num[i][j]?=?num[i][j?-?1]?+?num[i?-?j][j];
????????????????num1[i][j]?=?num1[i][j?-?1]?+?num1[i?-?j][j?-?1];
????????????????num2[i][j]?=?num2[i?-?1][j?-?1]?+?num2[i?-?j][j];
????????????}
????????}
????}
????f[0][0]?=?1,?g[0][0]?=?1;
????for?(i?=?1;?i?<?nmax;?i++)?{
????????for?(j?=?1;?j?<=?i;?j++)?{
????????????g[i][j]?=?f[i?-?j][j];
????????????f[i][j]?=?f[i?-?1][j?-?1]?+?g[i?-?j][j];
????????}
????}
}
int?main()?{
#ifndef?ONLINE_JUDGE
????freopen("data.in",?"r",?stdin);
#endif
????int?n,?k,?i,?res0,?res1,?res2,?res3,?res4;
????init();
????while?(~scanf("%d?%d",?&n,?&k))?{
????????res0?=?num[n][n];
????????res1?=?num2[n][k];
????????res2?=?num[n][k];
????????for?(i?=?0,?res3?=?0;?i?<=?n;?i++)?{
????????????res3?+=?f[n][i];
????????}
????????res4?=?num1[n][n];
????????printf("%dn%dn%dn%dn%dnn",?res0,?res1,?res2,?res3,?res4);
????}
????return?0;
}


將正整數(shù)劃分成連續(xù)的正整數(shù)之和
如15可以劃分成4種連續(xù)整數(shù)相加的形式:
15
7 8
4 5 6
1 2 3 4 5

??? 首先考慮一般的形式,設(shè)n為被劃分的正整數(shù),x為劃分后最小的整數(shù),如果n有一種劃分,那么
結(jié)果就是x,如果有兩種劃分,就是x和x x + 1, 如果有m種劃分,就是 x 、x x + 1 、 x x + 1 x + 2 、... 、x x + 1 x + 2 ... x + m - 1
將每一個(gè)結(jié)果相加得到一個(gè)公式(i * x + i * (i - 1) / 2) = n,i為當(dāng)前劃分后相加的正整數(shù)個(gè)數(shù)。
滿足條件的劃分就是使x為正整數(shù)的所有情況。
如上例,當(dāng)i = 1時(shí),即劃分成一個(gè)正整數(shù)時(shí),x = 15, 當(dāng)i = 2時(shí), x = 7。
當(dāng)x = 3時(shí),x = 4, 當(dāng)x = 4時(shí),4/9,不是正整數(shù),因此,15不可能劃分成4個(gè)正整數(shù)相加。
當(dāng)x = 5時(shí),x = 1。

??? 這里還有一個(gè)問(wèn)題,這個(gè)i的最大值是多少?不過(guò)有一點(diǎn)可以肯定,它一定比n小。我們可以做一個(gè)假設(shè),
假設(shè)n可以拆成最小值為1的劃分,如上例中的1 2 3 4 5。這是n的最大數(shù)目的劃分。如果不滿足這個(gè)假設(shè),
那么 i 一定比這個(gè)劃分中的正整數(shù)個(gè)數(shù)小。因此可以得到這樣一個(gè)公式i * (i + 1) / 2 <= n,即當(dāng)i滿足
這個(gè)公式時(shí)n才可能被劃分。

代碼如下:

void?split(int?n)?{
????int?i,?j,?te,?x,?xlen;
????for?(i?=?1,?xlen?=?0;?(te?=?i?*?(i?-?1)?/?2)?<?n;?i++)?{
????????x?=?n?-?te;
????????if?(x?%?i?==?0)?{
????????????x?/=?i;
????????????printf("%d",?x);
????????????for?(j?=?1;?j?<?i;?j++)?{
????????????????printf("%d?",?x?+?j);
????????????}
????????????printf("n");
????????????xlen++;
????????}
????}
????printf("%dn",?xlen);
}


?

以下是轉(zhuǎn)載的:

  求劃分因子乘積最大的一個(gè)劃分及此乘積
  問(wèn)題簡(jiǎn)述:給定一個(gè)正整數(shù)n, 則在n所有的劃分中, 求因子乘積最大的一個(gè)劃分及此乘積。例如:8 = {8}, {7, 1}, {6, 2}, {5, 3}, {4, 4}, {3, 3, 2}, {2, 2, 2, 2} 等,那么在這些當(dāng)中,3 * 3 * 2 的乘積最大,所以輸出整個(gè)劃分
和這個(gè)乘積 18。
  算法分析:這是我在某個(gè)論壇上看到的問(wèn)題,以及別人針對(duì)此問(wèn)題的數(shù)學(xué)分析,現(xiàn)簡(jiǎn)單的整理如下:
  (1)對(duì)于任意大于等于4的正整數(shù)m, 存在一個(gè)劃分m = m1+m2, 使 m1*m2 >= m證: 令m1 = int(m/2), 則 m1 >= 2 , m2 = m-m1; 那么m2 > 2,并且 m2 >= m/2 >= m1;??? m1*m2 >= 2*m2 >= m; 證畢;
該證明簡(jiǎn)單的來(lái)說(shuō)就是:對(duì)于一個(gè)大于等于4的正整數(shù)m,存在一個(gè)2塊劃分的因子,這兩個(gè)因子的乘積總是不小于原數(shù)m本身。
  (2)由(1)知此數(shù)最終可以分解為 2^r * 3^s?,F(xiàn)證明 r <= 2;
  證:若r > 2, 則至少有3個(gè)因子為2, 而2*2*2 < 3*3;
  所以可以將3個(gè)為2的因子,換為兩個(gè)因子3;積更大;證畢。
  綜合(1),(2),則有:任何大于4的因子都可以有更好的分解, 而4可以分解為2*2。
  所以:此數(shù)應(yīng)該分解為 2^k1 * 3^k2。而且可以證明 k1>=0 并且 k1 <= 2,因此:
  ?? A.當(dāng)n = 3*r 時(shí), 分解為 3^r
?  ? B.當(dāng)n = 3*r+1時(shí), 分解為 3^(r-1)*2*2
??   C.當(dāng)n = 3*r+2時(shí), 分解為 3^r*2
  剩下編程處理,那就是太簡(jiǎn)單了,首先是處理

?

  小學(xué)六年級(jí)奧數(shù)---整數(shù)劃分(有用結(jié)論)

  例1:把14分拆成若干個(gè)自然數(shù)的和,再求出這些數(shù)的積,要使得到的積最大,應(yīng)該把14如何分拆?這個(gè)最大的乘積是多少?


  分析與解:我們先考慮分成哪些數(shù)時(shí)乘積才能盡可能地大。
  首先,分成的數(shù)中不能有1,這是顯然的。
  其次,分成的數(shù)中不能有大于4的數(shù),否則可以將這個(gè)數(shù)再分拆成2與另外一個(gè)數(shù)的和,這兩個(gè)數(shù)的乘積一定比原數(shù)大,例如7就比它分拆成的2和5的乘積小。
  再次,因?yàn)?=2×2,故我們可以只考慮將數(shù)分拆成2和3。
  注意到2+2+2=6,2×2×2=8;3+3=6,3×3=9,因此分成的數(shù)中若有三個(gè)2,則不如換成兩個(gè)3,換句話說(shuō),分成的數(shù)中至多只能有兩個(gè)2,其余都是3。根據(jù)上面的討論,我們應(yīng)該把14分拆成四個(gè)3與一個(gè)2之和,即14=3+3+3+3+2,這五數(shù)的積有最大值 3×3×3×3×2=162。
  將上述結(jié)論推廣為一般情形便是:
  把自然數(shù)S(S>1)分拆為若干個(gè)自然數(shù)的和:?? S=a1+a2+…+an,則當(dāng)a1,a2,…,an中至多有兩個(gè)2,其余都是3時(shí),其連乘積m=a1a2…an有最大值。

  例2:把1993分拆成若干個(gè)互不相等的自然數(shù)的和,且使這些自然數(shù)的乘積最大,該乘積是多少?
解:由于把1993分拆成若干個(gè)互不相等的自然數(shù)的和的分法只有有限種,因而一定存在一種分法,使得這些自然數(shù)的乘積最大。
  若1作因數(shù),則顯然乘積不會(huì)最大。把1993分拆成若干個(gè)互不相等的自然數(shù)的和,因數(shù)個(gè)數(shù)越多,乘積越大。為了使因數(shù)個(gè)數(shù)盡可能地多,我們把1993分成2+3…+n直到和大于等于1993。
若和比1993大1,則因數(shù)個(gè)數(shù)至少減少1個(gè),為了使乘積最大,應(yīng)去掉最小的2,并將最后一個(gè)數(shù)(最大)加上1。
若和比1993大k(k≠1),則去掉等于k的那個(gè)數(shù),便可使乘積最大。
所以n=63。因?yàn)?015-1993=22,所以應(yīng)去掉22,把1993分成(2+3+…+21)+(23+24+…+63)


這一形式時(shí),這些數(shù)的乘積最大,其積為? 2×3×…×21×23×24×…×63。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉