a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

[USACO2.2]集合 Subset Sums

2019-11-14 10:16:12
字體:
供稿:網(wǎng)友

題目:

對于從1到N (1 <= N <= 39) 的連續(xù)整數(shù)集合,能劃分成兩個子集合,且保證每個集合的數(shù)字和是相等的。舉個例子,如果N=3,對于{1,2,3}能劃分成兩個子集合,每個子集合的所有數(shù)字和是相等的:{3} 和 {1,2}這是唯一一種分法(交換集合位置被認(rèn)為是同一種劃分方案,因此不會增加劃分方案總數(shù)) 如果N=7,有四種方法能劃分集合{1,2,3,4,5,6,7},每一種分法的子集合各數(shù)字和是相等的:{1,6,7} 和 {2,3,4,5} {注 1+6+7=2+3+4+5}{2,5,7} 和 {1,3,4,6}{3,4,7} 和 {1,2,5,6}{1,2,4,7} 和 {3,5,6}給出N,你的程序應(yīng)該輸出劃分方案總數(shù),如果不存在這樣的劃分方案,則輸出0。程序不能預(yù)存結(jié)果直接輸出(不能打表)。

輸入格式:

輸入文件只有一行,且只有一個整數(shù)N

輸出格式:

輸出劃分方案總數(shù),如果不存在則輸出0。

樣例: SAMPLE INPUT

7

SAMPLE OUTPUT

4

思路:

動態(tài)規(guī)劃: f[i][j]-選到第i個時集合一和為j的方案數(shù) f[i][j]+=f[i-1][j-i] for(i=2;i<=n;i++) for(j=g;j>=1;j- -) if(j>=i) f[i][j]=f[i-1][j-i]; 簡化得: f[i]+=f[i-j]

代碼:

# include<cstdio># include<cstdlib># include<iostream># include<algorithm>using namespace std;long long ans=0,n,g,f[100101];int main(){ scanf("%d",&n); if(n%4==1 || n%4==2){//如果g為奇數(shù)輸出0
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 日韩精品久久 | 亚洲精品视频在线免费 | 亚洲www啪成人一区二区 | 亚洲成人免费观看 | 日本成人三级 | 欧美日韩中文在线观看 | 亚洲网站免费看 | 999在线视频免费观看 | 国产成人一区二区 | 日本一区二区视频 | 国产视频精品一区二区三区 | 国产视频色 | 国产一区久久久 | 不卡av电影在线观看 | 伊人天堂网 | 久久y| 成人免费在线观看 | 国产女人高潮大叫a毛片 | 免费激情av| 在线一区| 色爱区综合五月激情 | 色呦呦在线 | 欧美日韩一区二区三区视频 | 欧美日韩成人在线观看 | av中文字幕在线观看 | 成人在线观 | 国产一区在线免费观看 | 一区二区在线看 | 欧美成人精品激情在线观看 | 99视频在线免费观看 | 国产欧美一区二区三区在线看 | 精品国产髙清在线看国产毛片 | 天天射天天 | 伊人激情网 | 欧美日本不卡 | 日本高清视频一区二区三区 | 亚洲精品日本 | 看免费的毛片 | 亚洲精品久久久一区二区三区 | 国产精品久久久久久久久久久久冷 | 视频一区在线播放 |