算法
文章平均质量分 69
今天修复bug了吗
干啥啥不行,摸鱼第一名!
展开
-
AcWing《PAT甲级辅导课》第2章 高精度
第2章 高精度1002. A+B for Polynomials笔记类似高精度加法,但无需考虑进位问题注意系数用double类型,指数可选用int类型#include <iostream>using namespace std;const int N = 1010;double a[N], b[N], c[N];int read_data(double x[N]) { int k, n; double coef; cin >> k;原创 2021-11-10 16:41:51 · 414 阅读 · 0 评论 -
AcWing《PAT甲级辅导课》第1章 字符串处理
第1章 字符串处理1001. A+B Format笔记用字符串处理用to_string()把int转成字符串string字符串头插res = ch + res;#include<iostream>using namespace std;int main() { int a, b; cin >> a >> b; string c = to_string(a + b); string res; for (原创 2021-10-27 22:12:27 · 535 阅读 · 0 评论 -
Acwing《算法基础课》第7章 时空复杂度分析
Acwing《算法基础课》第7章 时空复杂度分析文章目录Acwing《算法基础课》第7章 时空复杂度分析一般ACM或者笔试题的时间限制是111秒或222秒C++一般111s能计算10710^7107~10810^8108次,在这种情况下,C++代码中的操作次数控制在 10710^7107为最佳在不同数据范围下,代码的时间复杂度和算法的选择技巧如下:n≤30n\le 30n≤30,指数级别dfs+剪枝状态压缩dpn≤100n \le 100n≤100,O(n3)O(n^3)O(n3)原创 2020-10-07 12:17:53 · 247 阅读 · 0 评论 -
Acwing《算法基础课》第6章 贪心
Acwing《算法基础课》第6章 贪心文章目录Acwing《算法基础课》第6章 贪心区间区间选点最大不相交区间数量区间分组区间覆盖Hoffman树排队打水货仓选址耍杂技的牛区间区间选点给定NNN个闭区间[ai,bi][a_i,b_i][ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点,输出选择的点的最小数量。思路将每个区间按照右端点从小到大进行排序ed值初始化为无穷小,从前往后枚举区间如果遍历到的区间的左端点大于记忆区间的右端点(放有点),则把记忆区间更新原创 2020-10-07 12:16:17 · 336 阅读 · 0 评论 -
Acwing《算法基础课》第5章 动态规划
Acwing《算法基础课》第5章 动态规划文章目录Acwing《算法基础课》第5章 动态规划背包问题01背包问题完全背包问题多重背包问题分组背包问题线性DP数字三角形最长上升子序列最长公共子序列最短编辑距离区间DP计数类DP完全背包解法其它算法数位统计DP状态压缩DP蒙德里安的梦想最短Hamilton路径树形DP记忆化搜索背包问题01背包问题nnn个物品,每个物品的体积是viv_ivi,价值是wiw_iwi,背包的容量是mmm若每个物品最多只能装一个,且不能超过背包容量,则背包的最大价值是原创 2020-10-07 12:14:13 · 549 阅读 · 0 评论 -
Acwing《算法基础课》第4章 数学知识
Acwing《算法基础课》第4章 数学知识文章目录Acwing《算法基础课》第4章 数学知识质数判断质数分解质因数筛质数朴素筛法埃氏筛法线性筛法约数求所有约数约数个数定理约数之和定理例子:12=22×3112=2^2\times3^112=22×31,121212的约数有1,2,3,4,6,121, 2, 3, 4, 6, 121,2,3,4,6,12,约数之和为282828,根据公式计算同样是(20+21+22)×(30+31)=28(2^0+2^1+2^2)\times(3^0+3^1)=28(20+原创 2020-10-07 12:00:30 · 439 阅读 · 1 评论 -
Acwing《算法基础课》第3章 搜索与图论
Acwing《算法基础课》第3章 搜索与图论文章目录Acwing《算法基础课》第3章 搜索与图论深度优先遍历DFS宽度优先搜索BFS拓扑排序dijkstra算法朴素dijkstra算法堆优化dijkstra算法Bellman-Ford朴素Bellman-Ford算法队列优化Bellman-Ford算法——SPFA算法Floyd算法Prim算法Kruskal算法染色法匈牙利算法深度优先遍历DFS模板:bool st[N]; // 标记是否用过int h[N], ne[N];int dfs原创 2020-10-07 11:56:32 · 539 阅读 · 2 评论 -
Acwing《算法基础课》第2章 数据结构
Acwing《算法基础课》第2章 数据结构文章目录Acwing《算法基础课》第2章 数据结构单链表双链表模拟栈模拟队列普通队列循环队列单调栈单调队列KMPTrie树并查集朴素并查集维护size的并查集维护到祖宗节点距离的并查集堆哈希表字符串哈希STL模板单链表模板:int e[N], ne[N]; // 链表元素及下个结点的地址int head; // 头结点地址int idx; // 可用位置/** 创建含头结点的单链表 */void init() { head = 0;原创 2020-10-06 23:29:24 · 294 阅读 · 0 评论 -
Acwing《算法基础课》第1章 算法基础
Acwing《算法基础课》第1章 算法基础文章目录Acwing《算法基础课》第1章 算法基础排序快速排序归并排序二分整数二分浮点数二分高精度计算大整数存储大整数比较高精度加法高精度减法高精度乘法高精度除法前缀和一维前缀和二维前缀和差分一维差分二维差分双指针算法位运算离散化区间合并排序快速排序主要思想:确定分界点:x = a[l]x = a[r]q = a[(l + r) / 2]调整范围:左边<=x右边>x递归处理左边和右边模板:void quick原创 2020-10-06 23:21:18 · 1140 阅读 · 0 评论 -
Acwing《语法基础课》笔记
Acwing《语法基础课》笔记文章目录Acwing《语法基础课》笔记第1讲:变量、输入输出、表达式与顺序语句第2讲 `scanf`/`printf`语法及判断语句第3讲 循环语句第4讲 数组第5讲 字符串第6讲 函数第7讲 结构体、类、指针与引用第8讲 STL容器、位运算与常用库函数数组类容器有序对容器algorithm库难题第1讲:变量、输入输出、表达式与顺序语句常用头文件:iostream包括cin、cout、scanf、printfcstdin包括scanf、printfcmath万原创 2020-10-06 23:12:13 · 3544 阅读 · 0 评论