![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法之学渣笔记
常见算法解析
临时工小王
离职更新
展开
-
欧几里得算法
欧几里得 英文缩写gcd, 因此用gcd函数表示欧几里得算法。 又称辗转相除法。 公式gcd(a, b ) = gcd ( b, a%b ) 解释 a 和b 的最大公约数 等于 b 和a模b 的最大公约数。目的: 求两数的最大公约数 和最小公倍数(间接求得:两数相乘除以最大公约数)。代码实现:int gcd( int a, int b){ return b == ...原创 2018-08-13 09:37:08 · 477 阅读 · 0 评论 -
深搜——order(有重复数字的全排列)
The stores manager has sorted all kinds of goods in an alphabetical order of their labels. All the kinds having labels starting with the same letter are stored in the same warehouse (i.e. in the same ...原创 2018-08-28 21:32:26 · 1160 阅读 · 0 评论 -
深搜素环问题 Prime Ring Problem HDU - 1016
题目描述:A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime. Note: the num...原创 2018-08-28 21:21:03 · 149 阅读 · 0 评论 -
三种基本排序 (直接)(选择 )(冒泡)
直接排序#include <stdio.h>#include <stdlib.h> int main(){ int a[10] = {1,3,4,3,1,3,6,5,41,1}, temp, i, j; for( i = 1; i < 10; i++) { temp = a[i]; ...原创 2018-08-23 17:29:23 · 115 阅读 · 0 评论 -
随机数的简单使用
#include <stdlib.h> // 包含srand 和 rand#include <time.h> // 时间函数int main(){int a;srand( (unsigned) time ( NULL) ); 随时间变化a = rand(): 产生随机数} ...原创 2018-08-23 17:24:59 · 134 阅读 · 0 评论 -
int long long long 和无符号化的数据范围
int ,long , long long 类型的范围 int 2147483648~2147483647 2e9 long 2147483648~2147483647 long long 的最大值: 9223372036854775807 9e18unsigned __int64的最大值:18446744073709551615 1e19输出格...原创 2018-08-23 17:14:13 · 4048 阅读 · 0 评论 -
结构体的定义和命名
struct rectangle{ struct Point lefttop;struct Point rightbottom;}; 这是一个结构嵌套;struct是保留字,他是声明结构类型的开始标志结构的成员可以是基本数据类型,也可以是一个构造的结构类型,如上代码上面的代码,你为他取结构变量时,如下:struct rectangle Rectangle R...原创 2018-08-30 20:48:24 · 18188 阅读 · 0 评论 -
HDU 1237 简单计算器
读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 Input测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 Output对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。 Sample Input1 + 24 + ...原创 2018-08-17 10:34:06 · 147 阅读 · 0 评论 -
栈和队列基本函数用法
#include<stack> 栈的头文件#include<queue> 队列的头文件定义栈如下:stack<TYPE> s; 定义队列如下:queue<TYPE> q; 栈的基本操作:(FILO) s.empty() 如果栈为空返回true,否则返回false ...原创 2018-08-17 09:26:44 · 2206 阅读 · 0 评论 -
素数判定与埃式筛法
素数:除了一和本身没有其他数可以整除该数;1不是素数, 2是判断是否为素数:代码如下bool is_prime( int n ) //bool类型的唯一好处就是自带ture 和 false 也就是1 和 0 的作用, 可能是比较专业吧!{ for( int i = 2; i <= sqrt(n); i++ ) { if( n % i == 0 ) ...原创 2018-08-16 15:00:09 · 224 阅读 · 0 评论 -
快速幂取模解析与模板
形如 a ^ b % c; //如果看不懂请看https://blog.csdn.net/baidu_20363843/article/details/49559573(没用位运算)如果数太大肯定会溢出,时间和空间也不允许;直接使用快速幂取模算法解析:(a*b)%c=(a%c)*(b%c)%c (必须理解)(此处转载) 把b按照二进制展开b = p(n)*2^n +...原创 2018-08-16 08:56:39 · 797 阅读 · 0 评论 -
棋盘问题 POJ - 1321 类似(八皇后)
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n...原创 2018-08-29 16:05:05 · 157 阅读 · 0 评论