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

付翔的專欄
在鄙視中成長 記錄成長的點滴
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>
            一区二区三区国产精华| 久久久久久久波多野高潮日日 | 午夜精品一区二区三区在线| 亚洲国产经典视频| 亚洲人成啪啪网站| 亚洲在线一区二区| 欧美中文在线观看| 免费观看成人网| 亚洲国产日韩欧美在线图片| 亚洲欧洲一区二区三区久久| 夜色激情一区二区| 午夜精品网站| 欧美大片91| 国产精品免费视频观看| 黄色精品网站| 亚洲一区日本| 免费日韩av片| 亚洲私人影吧| 久久免费少妇高潮久久精品99| 欧美freesex交免费视频| 欧美午夜精品电影| 精品999成人| 亚洲视频axxx| 老妇喷水一区二区三区| 日韩视频在线播放| 久久精品亚洲国产奇米99| 欧美激情在线播放| 国语自产精品视频在线看一大j8 | 欧美劲爆第一页| 国产麻豆精品视频| 米奇777超碰欧美日韩亚洲| 欧美fxxxxxx另类| 国产欧美日韩在线播放| 日韩一区二区久久| 久久女同精品一区二区| 日韩一区二区精品视频| 久久综合中文色婷婷| 欧美视频三区在线播放| 亚洲高清视频在线| 久久国产日韩欧美| av成人免费在线| 裸体一区二区| 影音先锋日韩有码| 久久久久久亚洲精品中文字幕 | 黄色精品一区| 久久国产欧美日韩精品| 9国产精品视频| 欧美另类综合| 日韩视频欧美视频| 免费观看在线综合色| 性欧美videos另类喷潮| 欧美性猛片xxxx免费看久爱| 99re热精品| 亚洲激情在线观看| 欧美高清一区| 一本色道久久综合亚洲精品高清| 欧美电影打屁股sp| 噜噜噜噜噜久久久久久91| 国模 一区 二区 三区| 久久久97精品| 久久青草福利网站| 亚洲日本中文字幕免费在线不卡| 欧美成人国产va精品日本一级| 久久久精彩视频| 亚洲激情一区二区| 91久久国产精品91久久性色| 欧美激情一区二区三区在线视频观看| 91久久黄色| 亚洲精品视频在线观看网站| 欧美精品一区二区三| 一区二区三区视频在线| 亚洲天堂第二页| 国产一区二区三区的电影| 另类专区欧美制服同性| 免费人成精品欧美精品| 99香蕉国产精品偷在线观看| 一本久久综合亚洲鲁鲁| 国产精品亚洲综合| 久久婷婷久久一区二区三区| 久久嫩草精品久久久精品一| 亚洲黄色免费| 在线一区二区三区四区| 国产视频欧美视频| 欧美国产日韩一区二区在线观看| 欧美精品免费观看二区| 欧美亚洲自偷自偷| 美女视频黄 久久| 亚洲欧美日韩精品一区二区| 久久爱www久久做| 国产精品v欧美精品∨日韩| 亚洲人成网在线播放| 亚洲日本欧美在线| 国产精品毛片a∨一区二区三区| 久久福利资源站| 另类综合日韩欧美亚洲| 亚洲天堂视频在线观看| 欧美一区二区三区在线看| 亚洲激情偷拍| 亚洲欧美另类在线| 日韩视频一区二区| 欧美一级精品大片| 一区二区三区国产盗摄| 久久九九国产精品怡红院| 9色国产精品| 久久久久久97三级| 亚洲欧美国产高清| 欧美电影资源| 久久久www成人免费无遮挡大片| 欧美电影在线| 久久综合成人精品亚洲另类欧美| 欧美午夜三级| 亚洲激情二区| 亚洲高清激情| 欧美在线影院在线视频| 亚洲男人的天堂在线观看| 欧美国产日韩亚洲一区| 美国十次了思思久久精品导航| 国产精品观看| 9l视频自拍蝌蚪9l视频成人| 亚洲精品国产精品久久清纯直播 | 亚洲黑丝一区二区| 韩日欧美一区二区| 亚洲欧美一区二区三区极速播放 | 一区二区三区在线观看视频| 一区二区三区欧美亚洲| 亚洲精品永久免费| 免费成人毛片| 免费在线观看日韩欧美| 国语自产精品视频在线看抢先版结局 | 午夜精品免费视频| 欧美日韩综合视频| 亚洲三级毛片| 亚洲视频一区二区免费在线观看| 欧美大学生性色视频| 欧美成人自拍| 亚洲国产精品视频| 美女啪啪无遮挡免费久久网站| 久久综合九色| 在线欧美福利| 国产综合久久久久影院| 久久久久久九九九九| 国产精品自在在线| 午夜精品999| 久久精品噜噜噜成人av农村| 国产午夜精品视频| 久久精品国产免费看久久精品| 久久精品99国产精品酒店日本| 国产日韩欧美精品一区| 欧美在线播放视频| 另类成人小视频在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 国产精品国产馆在线真实露脸 | 欧美一级片在线播放| 国产视频精品va久久久久久| 欧美一区网站| 免费视频一区二区三区在线观看| 亚洲欧洲日夜超级视频| 欧美日韩无遮挡| 亚洲欧美日韩一区二区三区在线| 久久精品国产999大香线蕉| 激情久久久久久久久久久久久久久久| 久久久久久久综合| 亚洲精品久久久久久久久久久久久 | 影音先锋成人资源站| 蜜臀va亚洲va欧美va天堂| 亚洲精品三级| 欧美专区在线观看| 亚洲人成亚洲人成在线观看图片| 欧美日韩免费高清| 久久精品日韩一区二区三区| 欧美黄色一区| 午夜精彩视频在线观看不卡 | 亚洲大片在线| 欧美无乱码久久久免费午夜一区 | 国产精品v片在线观看不卡| 性一交一乱一区二区洋洋av| 欧美激情一区二区三区蜜桃视频 | 久久亚洲免费| 亚洲一区二区三区精品在线| 欧美成人精品高清在线播放| 亚洲免费在线精品一区| 亚洲动漫精品| 亚洲欧洲精品一区二区| 国产欧美日韩在线 | 久久综合亚州| 亚洲午夜av在线| 在线观看日韩欧美| 国产精品永久| 欧美日韩一本到| 蜜臀91精品一区二区三区| 亚洲欧美在线x视频| 亚洲美女尤物影院| 亚洲大胆女人| 久久国产精品黑丝| 一本色道久久99精品综合| 欧美国产第一页| 久久久国产亚洲精品| 亚洲欧美一级二级三级| 一区二区三区日韩在线观看| 亚洲成人在线|