
算法
亭台六七座
大圣,此去欲何?踏南天,碎凌霄。若一去不回...?便一去不回!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法之插入排序
/*======================================================================================插入排序:对于 0 到 N-1 之间的每一个 i,将 a[i] 与 a[0] 到 a[i-1] 中比它小的所有元素依次有序地交换。在索引i由左向右变化的过程中,它左侧的元素总是有序的,所以当i到达数组的右端时排序就转载 2017-07-20 12:39:32 · 185 阅读 · 0 评论 -
大数卡特兰数
[cpp] view plain copyint a[105][105]; //大数卡特兰数 int b[105]; //卡特兰数的长度 void catalan() //求卡特兰数 { int i, j, len, carry, temp; a[1][0] = b转载 2017-10-20 19:54:23 · 376 阅读 · 0 评论 -
N皇后问题
点击打开链接[cpp] view plain copy# include # include int b[25],c[25],d[25],count;; void find(int n,int cur) { int i; if(cur==n) { coun转载 2017-10-20 19:53:28 · 339 阅读 · 0 评论 -
第一次用 stable_sort
点击打开链接[cpp] view plain copy# include # include # include using namespace std; struct DNA { char a[55]; int num; }s[105]; int fun(int转载 2017-10-20 19:52:44 · 396 阅读 · 0 评论 -
rmq模板
[cpp] view plain copy#include #include #include #define M 50010 int mx[M][17],mi[M][17],d[M]; int n,t; int min(int a,int b) { return a} int max(int转载 2017-10-20 19:51:30 · 285 阅读 · 0 评论 -
某区间内1的数量
点击打开链接 解法二告诉我们1~ N中“1”的个数跟最高位有关,那我们换个角度思考,给定一个N,我们分析1~N中的数在每一位上出现1的次数的和,看看每一位上“1”出现的个数的和由什么决定。 1位数的情况: 在解法二中已经分析过,大于等于1的时候,有1个,小于1就没有。 2位数的情况: N=13,个位数出现的1的次数转载 2017-10-20 19:50:28 · 403 阅读 · 0 评论 -
Fibonacci数列
求高位时算法分析:f(n)= (1/sqrt(5))*pow((1+sqrt(5))/2,n)- (1/sqrt(5))*pow((1-sqrt(5))/2,n);这个题目就是用到这个公式,化简f(n)=n*log10((1+sqrt(5))/2)-log10(sqrt(5))+log10(1-((1-sqrt(5))/(1+sqrt(5)))^n)后面红色部分是无穷小量,可以省略。于转载 2017-10-20 19:48:35 · 192 阅读 · 0 评论 -
AES算法
[cpp] view plain copy# include # include # include using namespace std; int sBox[] ={ 0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x7转载 2017-10-20 19:47:53 · 699 阅读 · 0 评论 -
RAS加密
一、实验目的掌握并实现RSA算法。二、实验内容利用C\C++实现RSA算法的加、解密运算。具体包括:(1) a模n的逆元(2) 计算mk mod n结果(要避免出现天文数字)(3) n=43*59=2537 e=13运用(1)和(2)的结果将消息public加密和解密. 提示:将明文消息代换为数字按两个字母分组,加密转载 2017-10-20 19:46:54 · 720 阅读 · 0 评论 -
bitmap应用及实现(哈希表)
当实现时间复杂度优化的时候,经常会用到hash表来存储一些数据,然后查找,来提高时间复杂度。如果直接设置int arr[]数组,对于大数据来说,会需要很大的空间来存储,严重影响效率。而bitmap是用位来存储数据的:如果只是表示有无,每个数据分配1位;如果表示多个,可能需要给每个数据分配多位(例如统计大数据中不重复的个数,用0、1、2来表示状态)bitmap在对数据进行排序时,其复杂度为O转载 2017-10-20 19:46:02 · 882 阅读 · 0 评论 -
算法之 求最小最大数
题目描述输入N个(N输入描述:输入包括多组测试用例,每组测试用例由一个整数N开头,接下去一行给出N个整数。输出描述:输出包括两个整数,为给定N个数中的最大值与最小值。示例1输入51 2 3 4 533 7 8输出5 18 3C++代码:#includeusing namespace转载 2017-08-31 00:40:29 · 568 阅读 · 0 评论 -
字符串匹配算法KMP算法
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上转载 2017-07-31 10:54:46 · 219 阅读 · 0 评论 -
排序算法之冒泡排序
排序算法之冒泡排序: int array[10] = {15, 225, 34, 42, 52, 6, 7856, 865, 954, 10}; int i, j; for (i = 0; i < 10; i++) { //每一次由底至上地上升 for (j = 9; j > i; j--)转载 2017-07-19 18:12:04 · 238 阅读 · 0 评论 -
求欧拉函数模板
点击打开链接 view plain copyint eular(int n) { int s,i; s=n; for(i=2;i*i { if(n%i==0) { n/=i; s=s/i;转载 2017-10-20 19:55:31 · 233 阅读 · 0 评论