計蒜客 等和的分隔子集

跟動態(tài)規(guī)劃干上了发钝,新的一道動態(tài)規(guī)劃題目

曉萌希望將1到N的連續(xù)整數(shù)組成的集合劃分成兩個子集合,且保證每個集合的數(shù)字和是相等漩符。例如一喘,對于N=3,對應(yīng)的集合{1嗜暴,2凸克,3}能被劃分成{3} 和 {1,2}兩個子集合.

這兩個子集合中元素分別的和是相等的。

對于N=3闷沥,我們只有一種劃分方法萎战,而對于N=7時,我們將有4種劃分的方案狐赡。

輸入包括一行撞鹉,僅一個整數(shù)疟丙,表示N的值(1≤N≤39)。

輸出包括一行鸟雏,僅一個整數(shù)享郊,曉萌可以劃分對應(yīng)N的集合的方案的個數(shù)。當沒發(fā)劃分時孝鹊,輸出0炊琉。

樣例輸入

7

樣例輸出

4

解析

這題一看,沒辦法馬上想出動態(tài)規(guī)劃的方法又活,因為N=7和N=6沒什么聯(lián)系苔咪,所以不能通過N=6求N=7

然后打算使用遞歸來做,這個題目的意思就是在1-N的N個數(shù)里面任取k個數(shù)柳骄,使得k個數(shù)之和等于這N個數(shù)的和的一半团赏,求有多少種取法,最后的結(jié)果減半就可以了耐薯。

定義一個數(shù)組int dp[1000][50]={0}; dp[x][y]代表在1-y的y個數(shù)里面取數(shù)舔清,總和是x的情況有dp[x][y]種

用函數(shù)F(i,j)來求dp[i][j],求出來的每個dp[i][j]記錄下來曲初,如果之前求過就不需要再繼續(xù)求

函數(shù)F分為4種情況

1.dp[i][j]已經(jīng)求出体谒,直接返回即可

2.i>=j的時候,dp[i][j]=不取j的情況 F(i,j-1) +取j的情況 F(i-j,j-1);? ? i<j時臼婆,dp[i][j]=dp[i][j-1];

3.j為0的時候抒痒,無數(shù)可取,返回0

4.i為0的時候颁褂,說明剛好取夠故响,此時dp[i][j]=1,返回1

最后實現(xiàn)的時候痢虹,運行超時被去,說明這個方法還有待改進,等下次有空再發(fā)新的

優(yōu)化后版本計蒜客 等和的分隔子集(優(yōu)化)

代碼

int dp[1000][50]={0};

int F(int number,int n)

{

if(dp[number][n]!=0)

{

}

else if(number==0)

{

dp[number][n]=1;

}

else if(n==0)

{

return 0;

}

else if(number>=n)

{

dp[number][n]=F(number,n-1)+F(number-n,n-1);

}

else

{

dp[number][n]=F(number,n-1);

}

return dp[number][n];

}

int main()

{

int N;

scanf("%d",&N);

int number=N*(N+1)/2;

if(number%2==0)

{

number=number/2;

printf("%d\n",F(number,N)/2);

}

else

{

printf("0\n");

}

return 0;}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奖唯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子糜值,更是在濱河造成了極大的恐慌丰捷,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寂汇,死亡現(xiàn)場離奇詭異病往,居然都是意外死亡,警方通過查閱死者的電腦和手機骄瓣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門停巷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事畔勤±俑鳎” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵庆揪,是天一觀的道長式曲。 經(jīng)常有香客問我,道長缸榛,這世上最難降的妖魔是什么吝羞? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮内颗,結(jié)果婚禮上钧排,老公的妹妹穿的比我還像新娘。我一直安慰自己均澳,他們只是感情好恨溜,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著负懦,像睡著了一般筒捺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纸厉,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天系吭,我揣著相機與錄音,去河邊找鬼颗品。 笑死肯尺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的躯枢。 我是一名探鬼主播则吟,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锄蹂!你這毒婦竟也來了氓仲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤得糜,失蹤者是張志新(化名)和其女友劉穎敬扛,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朝抖,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡啥箭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了治宣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片急侥。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡砌滞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坏怪,到底是詐尸還是另有隱情贝润,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布陕悬,位于F島的核電站题暖,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捉超。R本人自食惡果不足惜胧卤,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拼岳。 院中可真熱鬧枝誊,春花似錦、人聲如沸惜纸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耐版。三九已至祠够,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間粪牲,已是汗流浹背古瓤。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腺阳,地道東北人落君。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像亭引,于是被迫代替她去往敵國和親绎速。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗焙蚓。 張土汪:刷leetcod...
    土汪閱讀 12,748評論 0 33
  • 動態(tài)規(guī)劃(Dynamic Programming) 本文包括: 動態(tài)規(guī)劃定義 狀態(tài)轉(zhuǎn)移方程 動態(tài)規(guī)劃算法步驟 最長...
    廖少少閱讀 3,293評論 0 18
  • 回溯算法 回溯法:也稱為試探法纹冤,它并不考慮問題規(guī)模的大小,而是從問題的最明顯的最小規(guī)模開始逐步求解出可能的答案购公,并...
    fredal閱讀 13,669評論 0 89
  • 早上起床赵哲,叫媳婦吃飯!她習慣性的打開手機君丁,不出所料-又在收錢…… 這不知道是第幾次了,好像我也每天睡醒就收錢……
    分享秘密閱讀 143評論 0 1
  • 一個人看過無數(shù)部電影 逛過無數(shù)次街 無數(shù)次的走在路上 看到別人三三兩兩結(jié)伴而行 而我… 大概孤獨是人生常態(tài)吧 嗯将宪。...
    hiyour閱讀 72評論 0 0