摘要: 这个问题,大一困扰我很长时间,我总结一下 分析: 循环三个动作 当 n==1时候,将n从 x >z; n>1时候 我们需要将n-1 借助z 搬到y,再将n由x搬到z,再将n-1由y借助z搬到x #include<iostream> using namespace std; void gcd(int 阅读全文
posted @ 2019-03-06 22:10 Hello_World2020 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 基本思想,当出现不匹配的时候,就知晓一部分文本内容(因为在匹配失败前已经发生匹配) P[0 ~ k-1] == P[j-k ~ j-1] //KMP #include<iostream> #include<string.h> #include<malloc.h> using namespace st 阅读全文
posted @ 2019-03-06 17:47 Hello_World2020 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 分析:子集不是全排列,子集与二进制先关, 1.位向量法 b[i]做标记 #include<iostream> using namespace std; int b[100]={0}; void gcd(char *s,int n,int *b,int cur){ int i; if(cur==n){ 阅读全文
posted @ 2019-03-06 16:50 Hello_World2020 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 前面实现的字典排序算法 描述:给出一个数组S,按字典排序输出所有的序列 此时不在局限于数字,可以是字符 可以改进生成1--n全排列的代码,但是问题是当S有重复元素时候不能解决问题 出现重复: #include<iostream> using namespace std; int p[100]={0} 阅读全文
posted @ 2019-03-06 16:10 Hello_World2020 阅读(242) 评论(0) 推荐(0) 编辑