麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

usaco_Subset Sums_dp

2019-11-11 05:06:49
字體:
來源:轉載
供稿:網友

題目描述

對于從1到N (1 <= N <= 39) 的連續整數集合,能劃分成兩個子集合,且保證每個集合的數字和是相等的。舉個例子,如果N=3,對于{1,2,3}能劃分成兩個子集合,每個子集合的所有數字和是相等的: {3} 和 {1,2} 這是唯一一種分法(交換集合位置被認為是同一種劃分方案,因此不會增加劃分方案總數) 如果N=7,有四種方法能劃分集合{1,2,3,4,5,6,7},每一種分法的子集合各數字和是相等的: {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,你的程序應該輸出劃分方案總數,如果不存在這樣的劃分方案,則輸出0。


思路

1.只有和為偶數時才有解 2.然后后面用dp f[i][j]表示前i個數和為j的個數 f[i][j]=f[i-1][j]+f[i-1][j-i] 或=f[i-1][j] (加上的數大于總和) 最后輸出f[n][sum/2] O(n*sum)


/*ID:a1192631LANG:C++TASK:subset*/#include <stdio.h>int f[101][1001];int main(){ freopen("subset.in", "r", stdin); freopen("subset.out", "w", stdout); int n,s; scanf("%d",&n); s=n*(n+1)/2; if (s%2==1) {
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中国av免费在线观看 | 黄色大片免费看 | 欧美成人精品一区二区三区 | 精品国产一区二区三区久久久蜜 | 精品二区在线观看 | 成人午夜免费av | 欧美一级棒| 国产一国产精品一级毛片 | 美女黄网站免费观看 | 久久亚洲精品国产 | 亚洲网站免费观看 | 黄在线 | av免费在线播放 | 国产一级性生活视频 | 91懂色| av电影免费在线 | 在线观看免费视频麻豆 | 久久国产精品二国产精品中国洋人 | 搜一级毛片| 亚洲最黄视频 | a视频在线播放 | 国产99久久久久久免费看农村 | 欧美视屏一区二区 | 成人午夜影院 | 免费观看三级毛片 | 中文字幕22页 | 成人做爰s片免费看网站 | 久久亚洲精品久久国产一区二区 | 亚洲aⅴ免费在线观看 | 一级成人欧美一区在线观看 | 成人免费自拍视频 | av电影网站在线观看 | 1级毛片在线观看 | 久久老司机精品视频 | 中文字幕欧美一区二区三区 | 久久最新视频 | 中文字幕免费播放 | 爱高潮www亚洲精品 国产精品一区自拍 | 越南一级黄色片 | 久久免费视频3 | 久久精品国产99国产精品亚洲 |