上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
摘要: 希尔排序 直接插入排序的改进——希尔排序( O ( n log ⁡ 2 ( n ) ) O(n\log_2(n)) O(nlog2​(n)),不稳定,就地) 核心:分组预处理+组内直接插入排序 流程:将待排序元素序列分割成若干个子序列,在子序列内分别进行直接插入排序,待序列基本有序(接近正序)时,再 阅读全文
posted @ 2024-05-31 18:02 椰萝Yerosius 阅读(14) 评论(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 阅读(67) 评论(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 阅读(29) 评论(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 阅读(23) 评论(0) 推荐(0)
摘要: 图可以看作一般化的树 建图(图的存储结构) 以存点方式存储图 邻接矩阵(适用于稠密图) vector<vector<int>>v(MAX,vector<int>(MAX,0)); 邻接表 unordered_map<int,vector<int>> head; 以存边方式存储图 链式前向星(静态链表 阅读全文
posted @ 2024-05-08 20:14 椰萝Yerosius 阅读(25) 评论(0) 推荐(0)
摘要: 枚举是蛮力法的应用,所谓蛮力,并非指用人脑的智力或体力,而是利用计算机的强大特性进行暴力计算并验证的方式。 最朴素的枚举法是线性枚举,线性枚举优化方案有二分枚举、三分枚举等。 二分 二分是分治法的一种思想,可分为整数二分、实数二分等。二分的应用条件线性函数,必须为严格的单调有序序列,若无序则必须先排 阅读全文
posted @ 2024-05-02 16:17 椰萝Yerosius 阅读(39) 评论(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 阅读(15) 评论(0) 推荐(0)
摘要: 单调栈 单调栈:基于栈的数据结构,栈中数据从栈底至栈顶具有单调性,序列中每个元素都必须要进入一次单调栈。由于单调性,序列元素无需时刻都保留在单调栈内。 应用:求解 N G E / N L E NGE/NLE NGE/NLE、 P G E / P L E PGE/PLE PGE/PLE类问题(序列中下 阅读全文
posted @ 2024-04-26 19:27 椰萝Yerosius 阅读(25) 评论(0) 推荐(0)
摘要: 2023蓝桥省赛B组 B题 飞机降落 题解 标准深搜板子题,难度不大 #include<bits/stdc++.h> using namespace std; #define MAX 10 struct node{ int t,d,l;//t:飞机到达时间 d:飞机最大盘旋时间 l:飞机降落所需时间 阅读全文
posted @ 2024-04-11 19:48 椰萝Yerosius 阅读(34) 评论(0) 推荐(0)
摘要: 全排列问题 数字序列 [ l , r ] [l,r] [l,r]​区间内元素的全排列问题 extern int l,r,num; vector<int>ans; vector<bool>f(r+1);//标记数组,用于剪枝 void dfs(int cl){//cl:current left,本次递 阅读全文
posted @ 2024-04-04 14:56 椰萝Yerosius 阅读(18) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页