上一页 1 ··· 70 71 72 73 74 75 76 77 78 ··· 93 下一页
摘要: 动态规划(Dynamic Programming, DP)是一种用来解决一类最优化问题的算法思想,简单来使,动态规划是将一个复杂的问题分解成若干个子问题,或者说若干个阶段,下一个阶段通过上一个阶段的结果来推导出,为了避免重复计算,必须把每阶段的计算结果保存下来,方便下次直接使用。 动态规划有递归和递 阅读全文
posted @ 2020-02-01 12:11 Lucky小黄人^_^ 阅读(958) 评论(0) 推荐(0)
摘要: gets(str), getline(cin, s), cin.getline(str, len),这三个函数都是读入一行字符串的函数,下面是这三个函数的区别 1. gets() 函数是 C 语言的函数,它接受的参数是字符数组, gets输入字符串时,不进行数组下标的检查,也就是说当你的数组长度是n 阅读全文
posted @ 2020-01-31 22:41 Lucky小黄人^_^ 阅读(4815) 评论(0) 推荐(0)
摘要: Floyd算法求的是图的任意两点之间的最短距离 下面是Floyd算法的代码实现模板: const int INF = 10000000; const int maxv = 200; // maxv为最大顶点数 int n, m; // n 为顶点数,m为边数 int dis[maxv][maxv]; 阅读全文
posted @ 2020-01-31 11:51 Lucky小黄人^_^ 阅读(289) 评论(0) 推荐(0)
摘要: 广度优先搜索(Breadth First Search, BFS) BFS算法实现的一般思路为: // BFS void BFS(int s){ queue<int> q; // 定义一个队列 q.push(s); // 队首元素入队 while (!q.empty()){ // 取出队首元素top 阅读全文
posted @ 2020-01-27 18:01 Lucky小黄人^_^ 阅读(328) 评论(0) 推荐(0)
摘要: 深度优先搜索是一种枚举所有完整路径以遍历所有情况的搜索方法。(不撞南墙不回头) DFS一般用递归来实现,其伪代码思路过程一般如下: void DFS(必要的参数){ if (符和遍历到一条完整路径的尾部){ 更新某个全局变量的值 } if (跳出循环的临界条件){ return; } 对所有可能出现 阅读全文
posted @ 2020-01-27 17:42 Lucky小黄人^_^ 阅读(560) 评论(0) 推荐(0)
摘要: 写在前面:我们写算法题不是要创造算法,这是专门从事算法研究该做的事,我们就是学会一些很有用的算法,学习它们的使用方法,学习它们的使用场景。写算法题的过程不是创造算法的过程,而是利用所学的或所掌握的算法知识和算法技巧完成这道题的任务(好比在已知一些公式定理的条件下给你一些数据,让你解一道应用题)。 1 阅读全文
posted @ 2020-01-27 09:36 Lucky小黄人^_^ 阅读(597) 评论(0) 推荐(0)
摘要: 注释是一个程序员必须要具有的良好编程习惯。将自己的思想通过注释先整理出来,再用代码去体现。 比较好的写注释方式:先写出大部分注释,再开始写算法代码(如果你采用的就是这种方式,那么恭喜你,你已经学会了,可以完全不看这篇文章,因为下面都是陈述这种方式能带来的好处以及用其他方式的缺点,如果你采用的不是这种 阅读全文
posted @ 2020-01-27 08:55 Lucky小黄人^_^ 阅读(451) 评论(0) 推荐(0)
摘要: 前奏:统计 n! 中的所有质因子中pi的个数 普通方法:复杂度O(nlogn), 当n为10的18次方无法承受 // 复杂度O(nlogn), n为10的18次方无法承受 int cal(int n, int p){ int ans = 0; for (int i = 2; i <= n; i++) 阅读全文
posted @ 2020-01-26 11:36 Lucky小黄人^_^ 阅读(666) 评论(0) 推荐(0)
摘要: 当需要计算的整数或计算结果可能会超出long long 所能表示的范围时,应该用大整数来存储和计算(Java里面有BigInteger来存储大整数,这里讨论的是C++语言)。 大整数的存储形式是下面这个结构体(包含了构造函数): // 大整数结构体 struct bign{ int d[1000]; 阅读全文
posted @ 2020-01-25 17:16 Lucky小黄人^_^ 阅读(827) 评论(0) 推荐(0)
摘要: 表示分数的结构体 // 分数结构体 struct Fraction{ long long up, down; // 分子和分母,由于分数的乘法和除法可能使分子或分母超过int型表示范围,因此一般情况下,分子和分母应当使用long long 型来存储 }; 分数的化简: 化简规则:(1)如果分子up为 阅读全文
posted @ 2020-01-22 16:36 Lucky小黄人^_^ 阅读(1294) 评论(0) 推荐(0)
上一页 1 ··· 70 71 72 73 74 75 76 77 78 ··· 93 下一页