- 博客(9)
- 收藏
- 关注
原创 KMP算法
#include<iostream>#include<cstring>using namespace std;int Next[100];//获取Next数组void get_next(char *p){ int m = strlen(p); Next[0] = Next[1] = 0; for(int i = 1; i < m; i++){ i...
2019-01-12 11:42:26 90
转载 辨析离线算法与在线算法
离线算法算法设计策略都是基于在执行算法前输入数据已知的基本假设,也就是说,对于一个离线算法,在开始时就需要知道问题的所有输入数据,而且在解决一个问题后就要立即输出结果,通常将这类具有问题完全信息前提下设计出的算法成为离线算法( off line algorithms) 例题可供参考http://blog.csdn.net/xj2419174554/article/details/10238557h...
2018-06-10 10:07:22 243
原创 质数筛选及Eratosthenes筛选法
除了1和质数以外的自然数成为合数,1既不是质数也不是合数。 判断质数的最简单方法就是枚举int is_prime(int n) { for (int i = 2; i * i <= n; ++i) { if (n % i == 0) { return 0; // 不是质数 } } return 1;...
2018-05-12 17:11:41 255
原创 欧几里得 最大公约数 最小公倍数
欧几里得算法又称辗转相除法,用来快速计算两个整数的最大公约数。公式:gcd(a,b) = gcd(b,a mod b) 时间复杂度O(lgN).int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a%b);}最小公倍数公式:lcm(a,b) = a*b / gcd(a,b)int...
2018-05-12 16:54:51 215
原创 POJ2533 最长上升子序列(LIS)动态规划经典DP
问题链接:http://poj.org/problem?id=2533最长上升子序列(longest increasing subsequence)DescriptionA numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric seque...
2018-04-18 23:41:41 301
原创 c++ 构造函数浅析(未完待续)
c++ primer中对构造函数的定义:每个类都分别定义了它的对象被初始化的方式,类通过一个或多个特殊的函数来控制其对象的初始化过程,这些函数叫做构造函数。关键字:初始化构造函数的功能是初始化对象的数据成员,只要类的对象被创建,就会执行构造函数举个栗子:假如我们设计一个MOBA类型的游戏,那么我们把所有的英雄建立一个类Attribute,这个类包含力量Strength,敏捷Agility,生命HP...
2018-04-12 23:36:22 117
原创 C++ map映射基本操作
map是关联容器,类似与数学中的映射,指的是两个元素之间的对应关系map中的元素是一些关键字—值(key—value)对,类似于python的‘字典’,关键字起到索引的作用,值则表示关键字相关联的数据。map的定义map<T1,T2> m;//定义了一个名为m的从T1类型指向T2类型映射,初始为空插入映射用insert()方法插入一个元素或一个元素范围,参数是pair类型(元组),我们...
2018-02-18 23:36:32 1326
原创 标准库类型vector
标准库类型vector,因为其容纳着其他对象,所以常被称作 容器C++中既有类模板也有函数模板,vector是一个类模板。模板本身不是类或函数,相反可以看做编译器生成类或函数编写的一份说明,编译器根据模板创建类或函数的过程称为实例化,当使用模板是需要指出编译器应该吧类或函数实例化何种类型。对于类模板来说,用一对尖括号来提供信息:vector<int> ivec;大多数非引用内置类型和类...
2018-02-17 23:11:49 128
原创 C++中 set 基本方法
set 集合常用方法:方法功能insert插入一个元素erase删除一个元素count判断元素是否在set中size获取元素大小clear清空set具有和数学中“集合”类似的属性,set由不重复的数据组成,插入、查找、删除、和查询的时间复杂度都为O(lgn).而数组虽然插入的时间复杂度为O(1),但删除、查询都为O(n),时间效率低。初始化一个集合C++中直接构造一个set的语句为:set<...
2018-02-17 22:30:40 1265
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人