- 浏览: 309208 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (272)
- java (42)
- c (49)
- 算法 (29)
- 汇编语言 (3)
- 字符集 (3)
- error (3)
- 搜索引擎 (2)
- 互联网 (18)
- linux (12)
- 网络 (20)
- VMWare (1)
- 面试 (7)
- c++ (55)
- 设计模式 (3)
- db (9)
- office (2)
- FS (1)
- rest (3)
- Ajax (2)
- Spring (2)
- Hibernate (3)
- matlab (1)
- load balancing (8)
- 分布式计算 (2)
- 易语言 (1)
- apache tomcat (1)
- 测试 (1)
- 数据结构 (5)
- 数学 (13)
- 服务器 (9)
- 读后感 (4)
- 好书介绍 (1)
- script (3)
- wordpress (2)
- delphi (21)
- pascal (8)
- xml (3)
- 趣味 (1)
- PHP (3)
- python (13)
- DLL (4)
- openGL (8)
- windows (2)
- QT (28)
- django (7)
- jquery (1)
- 数据挖掘 (7)
- nginx (1)
- js (1)
- mac (1)
- hadoop (3)
- 项目管理 (1)
- 推荐系统 (1)
- html (1)
最新评论
-
晴天1234:
related remove:attention.ibus和u ...
UBUNTU的默认root密码是多少,修改root密码 -
美丽的小岛:
美丽的小岛 写道如上配置好就得了。提示没有OpenGl.dll ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
如上配置好就得了。提示没有OpenGl.dll之类的,再增加入 ...
OpenGL学习入门之VS2010环境配置 [转] -
美丽的小岛:
主要是理清哪两个对象之间的关系,是信号与所有槽的关系或者是槽与 ...
QT之DisConnect -
美丽的小岛:
LPCTSTR类型:L表示long指针 这是为了兼容Windo ...
QString与各种字符串之间的转化
算法描述而下(来自组合数学):
从r-组合a1a2...ar=1234....r开始。
当a1a2...ar!=(n-r+1)(n-r+2)...n时,做
(1)确定最大的整数K,使ak+1<=n且ak+1不是a1,a2,a3,...,ar.
(2)用r-组合
a1...ak-1(ak+1)(ak+2)...(ak+r-k+1)
替换a1a2...ar.
代码:
#include <stdio.h> #define N 7//集合中有N个数 #define M 5//任意取M个数出来 int a[N] ; int b[M] ; void init(){//初始化这两个数组 int i ; for(i=0 ;i < N ; i++){ a[i] = i + 1 ; } for(i=0 ; i < M ; i++){ b[i] = a[i] ; } } int check(int t){//判断t是否在b数组中 int i = 0 ; while( (i<M) && (b[i] != t) ) i++ ; if(i == M) return 1 ;//表示元素不是集合中 else return 0 ;//表于元素在集合中 } int getK(){//得到满足一定条件的k,这样的条件ak+1<=n,而且ak不在b数组中的,最大的那个k int max = a[N-1] ;//取最大的数 int i ; int t ; for(i=M-1 ; i>=0 ; --i){ t = b[i] + 1 ; if(t <= max && check(t) && (b[i]+M-i)<=max){ return i ; } } return -1 ; } int replace(){//用新的数去代替旧的数据 int k = getK() ; if(k == -1) return -1 ; int c = b[k]; for(;k<M; k++) { b[k] = c + 1 ; ++c ; } return 1 ; } void show(){ int i ; for(i = 0 ; i<M; i++){ printf("%d ",b[i]) ; } printf("\n") ; } int main(){ int count = 1 ; init() ; while(1){ show() ; if(replace() == -1) { break ; } ++count ; } printf("count = %d",count) ; return 0; }
运行结果:
发表评论
-
vs2008【断点无效】解决方法
2015-04-13 10:05 791有时候,我们在用vs2008调试的时候,会出现断点无效。如下 ... -
C++模板之特化与偏特化详解
2015-01-07 14:44 837转自:http://www.jb51.net/a ... -
c++中的typename与class<转>
2015-01-07 08:51 830在泛型编程的形参表中,关键字typename和class具有 ... -
traits:Traits技术初探
2015-01-06 12:49 804概述:traits是一种特性萃取技术,它在Generic ... -
POD型别
2015-01-06 12:37 770POD全称Plain Old Data。通俗的讲,一个类或结 ... -
c++核心基础知识(内存管理)
2015-01-04 22:22 707内存管理是C++最令人切 ... -
内存分配器<转>
2015-01-04 22:07 1390题记:内存管理一直 ... -
operator new在C++中的各种写法
2015-01-04 19:27 1211http://blog.sina.com.cn/s/blo ... -
可变参数va_list
2014-12-26 17:45 8841.要在函数中使用参数,首先要包含头文件<stdarg ... -
Apriori算法
2014-12-15 12:56 669http://blog.csdn.net/lizhengn ... -
map注意的两个问题
2014-12-11 14:21 644代码1 void main() { ... -
关于C++ const 的全面总结<转>
2014-11-14 12:56 762C++中的const关键字的用法非常灵活,而使用const ... -
C++DLL编程详解
2014-10-08 19:44 1657DLL(Dynamic Link Library)的 ... -
C++&&QT调试时出现的一些错误
2014-10-08 15:14 788错误 原因 解决 ... -
【转】C++ function、bind以及lamda表达式
2014-09-11 09:42 882本文是C++0x系列的第四篇,主要是内容是C++0x中新增 ... -
STL函数对象及函数对象适配器【转】
2014-09-10 09:24 495一 函数对象Functor STL中提供了一元和 ... -
typedef和typename关键字[转]
2014-09-10 09:21 6931、类型说明typedef 类型说明的格式为: type ... -
C/C++中extern关键字详解[转]
2014-09-09 11:38 5081 基本解释:extern可以置于变量或者函数前,以标示变量 ... -
MYSQL在C—API 中可用的函数
2014-08-24 23:03 610mysql_affected_rows() 返 ... -
编辑距离算法
2014-08-14 00:02 978字符串编辑距离: 是一种字符串之间相似度计算的方法。给定两个 ...
相关推荐
嵌入到PPT当中的整数序列的字典序r-组合算法,PPT放映可展示了每一步的流程 使用简介: 1. 打开PPT,如显示部分活动内容被禁用,点击启用内容 (使用VB编写的) 2. 点击放映即可启动程序,以PPT的形式 3. 程序比较简陋...
总的来说,这个压缩包为用户提供了R语言和RStudio的组合,适用于进行数据探索、统计分析和报告生成。无论你是初学者还是经验丰富的数据科学家,这个组合都能为你提供一个强大且灵活的工作平台,帮助你更好地实现数据...
RStudio是一款集成开发环境(IDE),专门为R语言打造。RStudio-1.3.959.exe是RStudio的安装程序,包含了用户友好的界面,便于编写、调试和运行R代码。该版本提供了代码自动完成、项目管理、图形查看器、调试工具和...
该解决方案基于“SSD+机械硬盘”混合磁盘组合,以较低价格实现高IO性能。同时,该解决方案还提供了一体化方案,降低购买成本,提高业务效率和安全性。 易用性好 深信服桌面云一体机VDS-R-7550提供了易用的解决方案...
4. Pascal's Rule(帕斯卡定律):\( C(n+1,r) = C(n,r) + C(n,r-1) \),这个性质可以通过组合数的图形表示——二项式系数三角形(Pascal's Triangle)来直观理解。 组合数在计算机科学中有多种应用,例如: - 排列...
这个压缩包采用的是tar.gz格式,是Linux系统中常用的归档和压缩工具组合,它首先使用tar进行文件打包,然后用gzip进行压缩,以节省存储空间。 描述中提到的“适用于Linux x86_64”,意味着这个Eclipse版本是为64位...
5. 特定条件下r位数的组合计数问题。题目要求求出由数字0-7组成的r位数中,满足特定条件(1和3出现偶数次,4和6至少出现一次)的数的个数。这种问题需要运用组合数学中的组合计数原理,通过分情况讨论的方法来求解。...
热工性能主要通过传热系数K值和热阻R值来衡量;结构性能关注墙体的承载力、抗裂性和耐久性;环境性能则涉及材料的环保性、可回收性及对室内环境的影响。 五、法规与标准 设计和施工过程中,必须遵循国家和地方的...
这种硬件组合使得SGR-W500-N82b在无线和有线连接方面都有出色的表现。 在固件方面,提到了“胖瘦固件”和“小博固件”。胖固件(FAT firmware)通常包含完整的用户界面和各种功能,适合对初学者友好,用户可以直接...
- **范德蒙德恒等式**:对于任意非负整数m, n, r,有\(\sum_{k=0}^{r}\binom{m}{k}\binom{n}{r-k} = \binom{m+n}{r}\),该恒等式表明了两个集合合并后的组合数可以通过分别计算每个集合的组合数然后相加得到。...
使用r语言研究资产组合收益率峰度_-r-
R-Studio 是一款功能强大的数据恢复软件,可以自动将分区结构、分区大小、分区类型、删除的数据文件、丢失的数据文件,无链接的单类型文件计算分析组合整理出来。 R-Studio 使用指南 在开始使用 R-Studio 之前,...
1. 设f是D到R的函数,这里|D|>|R|,令i= |D|/ |R|,则D中存在i个元素d1, d2, ……, di,使得f(d1)=f(d2)=……f(di)。 组合数学是一门重要的学科,它对算法研究和计算机科学的发展产生了重要影响。本资源摘要...
C++实现生成组合算法 在计算机科学和数学中,组合算法是一种常用的算法,用于生成所有可能的组合...C++ 实现生成组合算法可以通过基于 2 字典的生成全部组合算法、Even 算法、递归算法等来实现生成全部组合和 r-组合。
"使用R语言构造投资组合" 在金融投资分析中,构造投资组合是历久弥新的问题。多年以来,学界、业界提出诸多对投资组合进行优化的方法。其中,最经典的基于收益率均值和收益率波动性进行组合优化的方法,即 Mean-...
组合数的两个性质是指C(n,r)=C(n,n-r)和C(n,r)=C(n-1,r)+C(n-1,r-1)。前者表示从n个不同元素中选择r个元素的方法数等于从n个不同元素中选择n-r个元素的方法数;后者表示从n个不同元素中选择r个元素的方法数等于从n-1...
自己写的linux ls 命令 包括 -l -R -a -U 及各种组合,还有是三种特殊位
展开式中的每一项都由组合数C决定,即第r+1项Tr+1=C(n, r)a^(n-r)b^r。 - 通项公式为:\( T_{r+1} = C(n, r)a^{n-r}b^r \) - 二项式系数的性质: - 中间项的系数最大(n为偶数时是单个最大,n为奇数时是两个相等...
4. 将预测的掩码和 bounding box regression 结果组合,生成最终的检测结果 Mask R-CNN 模型的优点是可以对目标进行像素级的分割,能够精准地检测出目标的轮廓。这种能力对于自动驾驶汽车、机器人控制等应用场景...