字典序全排列算法研究一.非递归算法(字典序法)对给定的字符集中的字符规定了一个先后关系,在此基础上规定两个全排列的先后是从左到右逐个比较对应的字符的先后。例如:字符集{1,2,3},较小的数字位置较先,这样按字典序生成的全排列是 123,132,213,231,312,321※ 一个全排列可看做一个...
分类:
其他好文 时间:
2014-08-12 18:20:14
阅读次数:
277
Insertion Sort is a simple sorting technique which was covered in previous challenges. Sometimes, arrays may be too large for us to wait around for in...
分类:
其他好文 时间:
2014-08-12 18:13:14
阅读次数:
404
本题是KMP的next数组的灵活运用。
具体就是看最后整个数列的最后一个字母,能有多少前缀。
理解了next数组就很容易了。
#include
#include
#include
using std::vector;
const int MAX_N = 400001;
char name[MAX_N];
int next[MAX_N], len;
void genNext()
{
...
分类:
其他好文 时间:
2014-08-12 17:16:54
阅读次数:
237
有一个n阶的梯子, 你每次只能爬1阶或2阶, 请问共有多少种登顶的爬法?(正好爬完n阶, 不能多也不能少)本题最优解是直接套用菲波那切数列即可(因为菲波那切数列的第n个元素正好等于第n-1个元素和第n-2个元素的和, 与本题的要求完全相同).递归解法:1 int climbStairs(in...
分类:
其他好文 时间:
2014-08-12 16:51:44
阅读次数:
137
def functionName(arg1,arg2=default_value, arg3=None): pass#函数体global关键字声明全局变量只有在形参表末尾的那些参数可以有默认参数值传递参数时可以指定赋值,如functionName(5,arg3=6,arg2=7)参数列表:参数名前....
分类:
编程语言 时间:
2014-08-12 16:35:24
阅读次数:
239
索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如...
分类:
其他好文 时间:
2014-08-12 16:26:24
阅读次数:
171
//本题用DP算法: 从一组数据中找一组递增数列且和为最大,假如我们从最后面往前找,每次都要找出前面比本身的小的数 ,//并加上f[j],就是此时f[j]最大的值//用f[ ]记下相应的位置的最大和,f[ i ]=max(num[ i ] ,f[ i ]+num[ j ] ),其中0num[ j ]...
分类:
其他好文 时间:
2014-08-12 13:19:24
阅读次数:
210
今天看了Prufer数列这个东西。每一个Prufer数列和无根树是一一对应的。所以求出有多少符合要求的Prufer数列即可。点i在Prufer数列中的出现次数为i的度数 - 1。代码如下:【用分解质因数的方法,避免了高精除】#include #include #include #include #i...
分类:
其他好文 时间:
2014-08-12 13:11:24
阅读次数:
188
一、关于const类成员函数有以下几个需要注意的地方:1. 在普通的非const成员函数中,this的类型是一个指向类类型的const指针,而const成员函数中,this的类型是一个指向const类类型对象的const指针。由于这个原因:(1) 返回值 函数名 (参数列表) const {…} 这...
分类:
其他好文 时间:
2014-08-12 12:50:34
阅读次数:
166
以前一直用C的思想写的代码和算法。这次突然豁然开朗的感觉,突然明白了面向对象的思想去解决算法 解题思路:利用面向对象的思想 兔子:只有一个字段,就是月数,有一个函数就是成长,当大于三个月之后就产仔。 队...
分类:
其他好文 时间:
2014-08-12 09:07:13
阅读次数:
354