10 2023 档案
摘要:最大公因数(gcd)的求解方法 辗转相除法: //求最大公因数递归算法,a,b之间没有大小的区别 int gcd(int a, int b) { if(b == 0) { return a; }else { return gcd(b, a % b); } } int gcd(int a, int b
阅读全文
摘要:树的直径解释: 表示的是树的最长的路径 求法: 任意位置开始寻找一个最远距离的点,那么这个点就是直径的一端,然后从一端开始寻找另外一个点 经典例题: https://www.lanqiao.cn/problems/5890/learning/?contest_id=145 注意: 我们需要注意的是这
阅读全文
摘要:做动态规划的题目之前养成手写dp的习惯,会避免很多问题 小明的背包(01背包) https://www.lanqiao.cn/problems/1174/learning/?page=1&first_category_id=1&sort=students_count&problem_id=1174
阅读全文
摘要:平面几何 https://www.lanqiao.cn/problems/503/learning/?page=1&first_category_id=1&sort=students_count&name=平面切分 解释: 重点在于线段的去重和交点的去重 代码#include <iostream>
阅读全文
摘要:全球变暖 https://www.lanqiao.cn/problems/178/learning/?page=1&first_category_id=1&sort=students_count&problem_id=178 解释: 要注意不管是dfs还是bf一次进入到的都是一座完整的岛屿,如果有n
阅读全文
摘要:广度优先特点 广度优先有一个特点,那就是到达的一定是最小的步数, 其实广度优先算法是把所有的状态写在了队列的每一个节点里面,所以需要结构体记录,然而深度优先是把状态记录在参数列表里面 对于广度优先的路径问题,因为可能是相同长度的路径,但是不同的上下左右入队顺序造就步数是相同的,但是路径不同 迷宫 h
阅读全文
摘要:深度优先搜索的判断是否已经被标记的数组的判断写在循环里面和循环外面都是可以的 迷宫: https://www.jisuanke.com/problem/T1595 代码: #include<bits/stdc++.h> using namespace std; int n,m; char s[11]
阅读全文
摘要:十大排序 https://zhuanlan.zhihu.com/p/172524701 冒泡排序 解释: 相邻的两个值把最大的值放在右边,最小值放在左边,一次循环确定最后一个位置,逐层递进 代码//十大排序之冒泡排序 //升序 void bubble(vector<int>& ans) { if(a
阅读全文

浙公网安备 33010602011771号