青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

付翔的專欄
在鄙視中成長 記錄成長的點滴
posts - 106,  comments - 32,  trackbacks - 0

大概的題意是: 給定一個序列 1 。。N ,假設全集為U那么存在多少種情況 : 兩個子集A B其中A∩B=∅ ,A∪B=U ,A元素的和== B元素的和。

開始寫了個遞歸,枚舉,提交超時:void work(int deep,int start)

{
    if(deep >= n)    return;
    if(ans > (sum -ans)) return ;
    if(ans == sum-ans)
    {
        gcount ++;
        /*FOR_1(i,1,n){
            if(used[i] == 1)
            fout<<i<< " ";
 
        }
        fout<<endl;
*/
        return ;
    }
 
    FOR_1(i,start + 1,n){
        if(used[i] == 0){
            used[i] = 1;
            ans += i;
            work(deep + 1,i);
            used[i] = 0;
            ans -= i;
        }
    }
 
}

之后改用另外一種思路,f(n,ans) = f(n-1,ans-n) + f(n-1,ans) ,這個有點分治的思路,把問題的規(guī)模逐漸縮小,從而得到解。中間加了個優(yōu)化,用一個二維數(shù)組存下中間計算的結(jié)果,這樣就不會超時。

/*
ID:fuxiang2
PROG: subset
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <stack>
#include <string>
#include <vector>
#include <queue>
#include <map>
#include <list>
#include <algorithm>
#include <set>
#include <cmath>
#include <cstring>
#include <cstdlib>
 
#define REP(i, n) for (int i=0;i<int(n);++i)
#define FOR(i, a, b) for (int i=int(a);i<int(b);++i)
#define DWN(i, b, a) for (int i=int(b-1);i>=int(a);--i)
#define REP_1(i, n) for (int i=1;i<=int(n);++i)
#define FOR_1(i, a, b) for (int i=int(a);i<=int(b);++i)
#define DWN_1(i, b, a) for (int i=int(b);i>=int(a);--i)
#define EACH(it, A) for (typeof(A.begin()) it=A.begin(); it != A.end(); ++it)
 
using namespace std;
ofstream fout ("subset.out");
ifstream fin ("subset.in");
 
const int N = 40;
int used[N];
int n ;
int sum;
int ans ;
int gcount ;
int data[40][800];
void work(int deep,int start)
{
    if(deep >= n)    return;
    if(ans > (sum -ans)) return ;
    if(ans == sum-ans)
    {
        gcount ++;
        /*FOR_1(i,1,n){
            if(used[i] == 1)
            fout<<i<< " ";
 
        }
        fout<<endl;
*/
        return ;
    }
 
    FOR_1(i,start + 1,n){
        if(used[i] == 0){
            used[i] = 1;
            ans += i;
            work(deep + 1,i);
            used[i] = 0;
            ans -= i;
        }
    }
 
}
 
int solve(int n ,int ans)
{
    int msum = (n+1)*n/2;
    if(ans <= 0) return 0;
    if(msum < ans) return 0 ;
    else if(msum == ans ) return 1 ;
 
    if(data[n][ans] )
        return data[n][ans] ;
 
    data[n-1][ans-n] = solve(n-1,ans-n);
    data[n-1][ans] = solve(n-1,ans);
 
    return data[n-1][ans-n] + data[n-1][ans];
}
int main()
{
    fin>>n;
    sum = (1+n)*n/2;
    ans = 0;
    if(sum%2 ==1){
        fout<<"0"<<endl;
    }
    else {
        //work(0,0);
        
//fout<<gcount/2 <<endl;
        int re = solve(n,sum/2);
        fout<<re<<endl;
    }
 
    //int re = solve(n,sum/2);
    
//fout<<re<<endl;
    return 0;
 
}
原始博客地址:http://www.fuxiang90.com/2012/07/usaco2-2-subset-sums/
posted on 2012-07-26 23:16 付翔 閱讀(290) 評論(0)  編輯 收藏 引用 所屬分類: ACM 數(shù)據(jù)結(jié)構(gòu)

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

CSDN - 我的blog地址

博客

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产成人久久综合| 亚洲欧美日本国产有色| 国产精品二区在线观看| 欧美女人交a| 欧美日韩精品免费观看| 欧美日韩中文精品| 国产色产综合色产在线视频| 黄色一区二区三区四区| 亚洲国产日韩精品| 欧美国产日本高清在线| 欧美母乳在线| 欧美freesex交免费视频| 蜜桃av一区二区三区| 欧美激情一区| 国产日韩精品一区二区浪潮av| 国内一区二区三区在线视频| 最新高清无码专区| 亚洲永久免费av| 久久精品视频导航| 亚洲国产欧美日韩| 亚洲欧美www| 麻豆久久婷婷| 国产酒店精品激情| 最新亚洲视频| 欧美中文字幕久久| 亚洲日韩欧美视频| 久久se精品一区二区| 欧美精品18+| 激情91久久| 亚洲欧美另类久久久精品2019| 久久人人爽人人爽爽久久| 日韩香蕉视频| 欧美α欧美αv大片| 国产日韩欧美不卡在线| 一本色道久久综合精品竹菊 | 久久精品国产一区二区三区| 欧美成年人视频网站欧美| 亚洲午夜在线| 欧美日韩综合视频| 亚洲免费观看高清完整版在线观看熊| 欧美在线看片| 亚洲视频每日更新| 欧美精品观看| 91久久精品网| 欧美大片国产精品| 久久精品国产77777蜜臀| 国产精品夜夜夜| 夜夜嗨av一区二区三区四季av| 久久蜜桃资源一区二区老牛 | 欧美一区二区三区免费视频| 欧美日韩国产区一| 亚洲精品视频在线播放| 另类激情亚洲| 久久精品人人爽| 狠狠色丁香久久婷婷综合_中| 性色一区二区| 亚洲欧美日韩国产综合| 国产精品卡一卡二| 亚洲欧美日韩国产中文 | 欧美sm视频| 一本大道久久a久久综合婷婷| 六月婷婷一区| 久久久久久亚洲精品杨幂换脸| 国产精品中文在线| 午夜免费电影一区在线观看| 一区二区三区波多野结衣在线观看| 欧美激情2020午夜免费观看| 日韩视频一区| 日韩亚洲欧美成人| 国产精品草草| 欧美一区二区三区免费在线看| 亚洲在线成人精品| 国产日韩高清一区二区三区在线| 午夜天堂精品久久久久| 午夜久久久久久| 国语精品中文字幕| 欧美va亚洲va香蕉在线| 欧美aⅴ一区二区三区视频| 亚洲免费观看在线观看| 日韩午夜高潮| 国产欧美va欧美va香蕉在| 久久米奇亚洲| 欧美福利一区| 亚洲综合第一| 久久精品网址| 日韩一级欧洲| 午夜精品视频| 亚洲电影免费在线| 亚洲精品裸体| 国产无一区二区| 亚洲成人在线视频播放 | 亚洲一区二区三区午夜| 国产日韩亚洲欧美精品| 欧美96在线丨欧| 欧美日韩国产探花| 久久精品九九| 欧美片第一页| 久久夜色精品一区| 欧美三级电影大全| 久久亚洲精品视频| 欧美日韩精品一区| 久久综合久久综合久久| 欧美日韩三级视频| 久久只精品国产| 欧美日韩免费区域视频在线观看| 久久精品人人做人人爽| 欧美日韩精品中文字幕| 乱人伦精品视频在线观看| 欧美视频在线观看视频极品| 欧美a级一区| 国产午夜精品在线| 一区二区欧美日韩视频| 亚洲茄子视频| 久久精品30| 午夜一区二区三视频在线观看 | 亚洲高清不卡一区| 99精品国产99久久久久久福利| 韩日精品视频一区| 亚洲视频观看| 日韩亚洲欧美成人| 久久男人资源视频| 久久av一区| 国产精品一区免费视频| 亚洲毛片在线观看| 亚洲精品极品| 免费成人性网站| 老司机午夜精品视频在线观看| 国产精品视频第一区| 亚洲免费观看| 正在播放欧美视频| 欧美日韩亚洲精品内裤| 亚洲精品色图| 一本色道婷婷久久欧美| 欧美精品一区二区三区一线天视频| 免费精品99久久国产综合精品| 国产一级一区二区| 欧美亚洲一区二区三区| 欧美在线啊v| 国产偷久久久精品专区| 午夜日韩在线观看| 久久精品一区蜜桃臀影院| 国产在线国偷精品产拍免费yy| 亚洲欧美日韩精品一区二区 | 国产在线观看91精品一区| 午夜在线不卡| 久久久综合视频| 伊大人香蕉综合8在线视| 久久影视精品| 91久久精品国产91性色| 99精品国产一区二区青青牛奶| 欧美美女视频| 亚洲欧美国产精品专区久久| 先锋影音久久| 国产一区二区三区自拍| 久久久爽爽爽美女图片| 亚洲国产精品嫩草影院| 一区二区三区四区国产精品| 国产精品国产三级国产普通话蜜臀 | 亚洲一区二区欧美| 国产精品美女久久久浪潮软件 | 欧美日韩国产一区二区| 一区二区三区四区蜜桃| 久久成人综合网| 亚洲第一中文字幕在线观看| 欧美大片va欧美在线播放| av成人免费观看| 久久精品国产久精国产一老狼| 在线精品亚洲一区二区| 欧美日韩精品欧美日韩精品一| 亚洲欧美经典视频| 亚洲第一搞黄网站| 性色av一区二区三区| 国产一区二区三区电影在线观看 | 欧美亚洲综合久久| 蜜桃精品一区二区三区| 一本色道久久综合亚洲精品小说| 国产精品久久久久毛片大屁完整版| 亚欧美中日韩视频| 亚洲精品久久久久久久久久久久久| 亚洲欧美日本伦理| 亚洲激情综合| 国产视频不卡| 欧美日韩亚洲一区二区| 久久成人国产精品| 一区二区三区.www| 亚洲福利久久| 久久久91精品国产一区二区精品| 亚洲精品一区二区三区樱花| 国产一区二区三区av电影| 欧美日韩午夜视频在线观看| 久久久久久久97| 亚洲综合丁香| 夜夜狂射影院欧美极品| 亚洲成人直播| 每日更新成人在线视频| 亚洲欧美国产高清va在线播| 亚洲激情午夜| 在线看片日韩| 狠狠做深爱婷婷久久综合一区| 国产精品久久久久久模特 |