05 2024 档案

摘要:基础排序算法(基于暴力的排序算法) 排序本质:逐步减少逆序对 在基础排序算法中,将待排序序列分为相对有序区与相对无序区。 每次遍历到数组末尾称为一轮。 冒泡排序(无序区-有序区, O ( n 2 ) O(n^2) O(n2),稳定,就地) 算法流程:在每轮中逐个比较相邻项,并将相对最值置后。因此在每 阅读全文
posted @ 2024-05-31 18:03 椰萝Yerosius 阅读(1) 评论(0) 推荐(0) 编辑
摘要:希尔排序 直接插入排序的改进——希尔排序( O ( n log ⁡ 2 ( n ) ) O(n\log_2(n)) O(nlog2​(n)),不稳定,就地) 核心:分组预处理+组内直接插入排序 流程:将待排序元素序列分割成若干个子序列,在子序列内分别进行直接插入排序,待序列基本有序(接近正序)时,再 阅读全文
posted @ 2024-05-31 18:02 椰萝Yerosius 阅读(4) 评论(0) 推荐(0) 编辑
摘要:并查集 并查集最基本的操作——合并、查询 struct{ int p,r;//p:parent r:rank(秩,子树高度的下界) }n[MAX]; void init(){//初始化并查集:每个元素都是自身的根节点,秩为0 for(int i=1;i<=MAX;i++) n[i].p=i,n[i] 阅读全文
posted @ 2024-05-27 00:20 椰萝Yerosius 阅读(4) 评论(0) 推荐(0) 编辑
摘要:POJ-1321棋盘问题(深搜板子题) 在 n × n n\times n n×n的棋盘上,#表示可摆放棋子的位置,同行同列最多只能摆放一个棋子,求摆放方案总数。 思路1:广搜行 深搜列 #include<iostream> #include<cstring> using namespace std 阅读全文
posted @ 2024-05-16 00:18 椰萝Yerosius 阅读(3) 评论(0) 推荐(0) 编辑
摘要:高精度模拟算法 高精度加法 extern string m,n; extern int a[MAX],b[MAX],ans[MAX]; void addition(){ int _m=max(m.size(),n.size()); reverse(m.begin(),m.end()),reverse 阅读全文
posted @ 2024-05-09 19:10 椰萝Yerosius 阅读(1) 评论(0) 推荐(0) 编辑
摘要:图可以看作一般化的树 建图(图的存储结构) 以存点方式存储图 邻接矩阵(适用于稠密图) vector<vector<int>>v(MAX,vector<int>(MAX,0)); 邻接表 unordered_map<int,vector<int>> head; 以存边方式存储图 链式前向星(静态链表 阅读全文
posted @ 2024-05-08 20:14 椰萝Yerosius 阅读(2) 评论(0) 推荐(0) 编辑
摘要:枚举是蛮力法的应用,所谓蛮力,并非指用人脑的智力或体力,而是利用计算机的强大特性进行暴力计算并验证的方式。 最朴素的枚举法是线性枚举,线性枚举优化方案有二分枚举、三分枚举等。 二分 二分是分治法的一种思想,可分为整数二分、实数二分等。二分的应用条件线性函数,必须为严格的单调有序序列,若无序则必须先排 阅读全文
posted @ 2024-05-02 16:17 椰萝Yerosius 阅读(0) 评论(0) 推荐(0) 编辑
摘要:Problem A:JB Loves Math 本题难度不大,但本蒟蒻一直被卡在Test 2上不动了,改了近一小时终于改出来了,本蒟蒻发题解纪念一下。 #include<bits/stdc++.h> using namespace std; using ll=long long; int t,a,b 阅读全文
posted @ 2024-05-01 18:49 椰萝Yerosius 阅读(2) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示