
算法笔记
老权仔
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++浮点型保留有效数字与小数位数
C++浮点型保留有效数字与小数位数 #include <iostream> #include <iomanip> using namespace std; int main() { float a=1.232423; cout<<setprecision(2)<<a<<endl;//保留两位有效数学 cout<...原创 2020-03-16 20:13:56 · 1574 阅读 · 0 评论 -
C++ STL(Standard Template Library)标准库一一栈、队列和优先队列
栈、队列和优先队列 栈 STL的 stack 头文件提供了栈,用 stack< int > s 方式定义,用 push() 和 pop() 实现元素的入栈和出栈操作, top() 取栈顶元素。原创 2020-02-22 16:27:21 · 220 阅读 · 0 评论 -
算法笔记——基础数学算法(最大公约数、素数、快速幂)
基础数学算法 最大公约数 欧几里得算法 ( 辗转相除法 ) 原理 : 两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数 表达式 : gcd(a,b)=gcd(b,agcd(a,b) = gcd(b,agcd(a,b)=gcd(b,a%b),a≥bb),a \geq bb),a≥b & b≠0,b \neq 0,b=0, int gcd(int a,int b) { ...原创 2020-02-17 18:23:11 · 359 阅读 · 0 评论 -
算法笔记1-快速幂
位优化快速幂运算 其运算过程与二进制运算时相同的,例如求 a15a^{15}a15 的值,其中十进制156转换为二进制为10011100,则 a15=a4∗a8∗x∗a16∗a128a^{15}=a^{4} * a^{8 *} x^{*} a^{16 *} a^{128}a15=a4∗a8∗x∗a16∗a128 。 10011100-128 11100-16 1100-8 100-4 #inclu...原创 2019-05-19 20:22:30 · 258 阅读 · 0 评论 -
算法笔记2-快速模幂
试求 ab%na^{b} \% nab%n 的值,其中 aaa、bbb、nnn 均为整数范围的数。 1.递推求解 #include<iostream> using namespace std; int a, b, n; int kmod(int a, int b, int n) { int digit[32] = {}; int i, k, result = 1; i = 0;...原创 2019-05-19 20:51:51 · 307 阅读 · 0 评论 -
C++ STL stack(栈)
#include <iostream> #include <stack> using namespace std; int main() { stack<int>mystack; for (int i = 0; i < 5; i++) mystack.push(i);//进栈 cout << "size:" << myst...原创 2019-08-29 16:43:29 · 304 阅读 · 0 评论 -
C++ STL(Standard Template Library)标准库一一排序与检索
sort排序函数 sort可以对任意对象进行排序,包括内置类型和自定义类型,前提是类型定义了”“<”运算符,排序之后可以用lower_bound查找大于或等于x的第一个位置。待排序/查找的元素可以放在数组里,也可以放在容器(vector)里。unique函数可以删除有序数组中的重复元素。 大理石在哪(UVa,10474) 现有N个大理石,每个大理石上写了一个非负整数、首先把各数从小到大排序;...原创 2019-09-21 09:00:50 · 234 阅读 · 0 评论 -
C++ STL(Standard Template Library)标准库一一不定长数组vector
vector头文件中的vector是一个不定长数组,可以用clear()清空,resize()改变大小,用push_back()和pop_back()在尾部添加和删除元素,用empty()测试是否为空,vector之间可以直接赋值或者作为函数的返回值。 #include<iostream> #include<vector> #define n 10 using namesp...原创 2019-09-21 09:32:12 · 235 阅读 · 0 评论