12
返回列表 发新帖
楼主: zhour560

[原创] 高手请进--写一算法

[复制链接]
趴在路灯上看猪 该用户已被删除
11#
发表于 2007-1-6 18:36 | 只看该作者
等待高手贡献

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2007-1-8 21:50 | 只看该作者
up

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2007-1-15 23:55 | 只看该作者
关注

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2007-1-17 17:30 | 只看该作者
18种吧?不知道对不对,不过不是程序算的,我手工算的,汗一个,组合数学!

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2007-01-05 22:30:20ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
15#
发表于 2007-1-18 21:13 | 只看该作者
0/1 knapsack problem
subset sum problem

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2007-1-19 17:20 | 只看该作者
这个问题,课本上有解答。好象是 清华 王晓东

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2007-01-05 22:30:20ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
17#
发表于 2007-1-19 23:11 | 只看该作者
0/1 背包问题分为:
0-1 Equality Knapsack Problem 和 0-1 inequality Knapsack Problem
0-1 inequality Knapsack Problem 求最优, 算法较多
0-1 Equality Knapsack Problem 求恰好装满的情况数, 我还没找到比较公认的有效算法
如有, 贴出来共享一下,我最近也在看算法

使用道具 举报

回复
论坛徽章:
0
18#
发表于 2007-1-19 23:56 | 只看该作者
顶一下

使用道具 举报

回复
论坛徽章:
8
六级虎吧徽章
日期:2009-04-03 13:56:21
19#
发表于 2007-1-20 14:41 | 只看该作者
关注一下!

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
20#
发表于 2007-5-18 15:05 | 只看该作者
这个好解。可以用动态规划求解。

如果是:一个组合里的元素不重复的情况的话,代码如下:

#include <stdio.h>
#include <gmp.h>

void  f( int Max )
{
        int i, j;
        mpz_t  *list=new mpz_t[ Max+1 ];
        for( i=0; i<=Max; ++i )
                mpz_init( list[ i ] );
        mpz_set_ui( list[ 0 ],1 );

        for( i=1; i<=Max; ++i ){
                j=Max-i;
                while(j>=0)
                        mpz_add( list[ i+j ],list[ i+j ],list[ j-- ] );
        }
        mpz_out_str( stdout,10,list[ Max ] );
        printf("\n";
        delete [ ]list;
}

int  main(  )
{
        int n;
        scanf("%d",&n);
        f( n );
        return 1;
}

由于当n=10000时,满足条件的组合个数很多,大大超出了__int64的表示范围,因此,代码中使用了大数运算库GMP,需要GMP的可以发邮件到medie2006@126.com。

n=10000时,
运行结果是:1122606574548038398976040173670530159089991444775125551802871247408332723840

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表