自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 从均分纸牌到七夕祭

从均分纸牌到七夕祭在做七夕祭这道题目的时候,感觉很难以下手,看了题解,将七夕祭模型使用简单的模型递推之后变得简单了,也就是从均分纸牌到七夕祭的过程均分纸牌 AcWing1536#include <iostream>using namespace std;const int N = 105;int n, avg, ans, a[N];int main(){ cin >> n; for(int i = 0; i < n; i ++ )

2020-11-05 15:57:27 73

原创 LCS算法(Longest Common Sequence)

LCS算法Longest Common Sequence假设存在两个字符串序列 X 和 Y$ X = {x_1, x_2, …, x_n}$$ Y = {y_1, y_2, …, y_n}$考虑两个序列最后一个元素是否相等,可以得到LCS(xn,ym)={LCS(xn−1, ym−1)+1,xn=ymmax(LCS(xn−1,ym), LCS(xn,ym−1)),xn!=ymLCS(x_n, y_m) = \begin{cases}LCS(x_{n-1},\ y_{m-

2020-11-05 15:55:47 537

原创 集合论和位运算 LeetCode 第393周赛第三题

最重要的是用二进制来表达信息的操作,这个操作和Linux的一些处理很像,比如epoll的一些状态的设置,使用不同的二进制位表达不同的选择,然后可以使用|(或操作)来设定初始的状态。更直接的,某块虚拟内存块的可读可写 ,使用 WRITE | READ 来表达,这两个宏的背后也是二进制数。

2024-04-14 22:45:08 332

原创 使用vscode连接服务器docker容器进行开发

【代码】使用vscode连接服务器docker容器进行开发。

2024-04-14 22:07:24 114

原创 关于C++ STL sort函数中的cmp

C++ STL中传入cmp不同形式导致性能差异分析

2023-10-28 21:27:49 204

原创 高精度加减乘除(大数的加减乘除)

听完y总的高精度加减乘除后记录。其中的乘法和除法只是有一方是大数,加减法是大数加减法。高精度加法#include <iostream>#include <string>#include <vector>using namespace std;string a, b;vector<int> A, B;vector<int> add(vector<int>& A, vector<int>&amp

2020-12-07 19:20:51 188 2

原创 属于自己的算法年度总结

终于结束了今年的所有比赛。要是比赛早点开始就好了,这样早点就知道自己有多菜了hhh参加了蓝桥杯+绿色计算机+团体天梯程序设计赛总体下来拿了蓝桥杯国三+绿色计算机国三+团体天梯程序设计赛个人奖国三!!!!今年是全拿国三的一年hhhh(要是可以的话希望明年能拿国一,小声bb比下来的感觉是自己的一些基础算法还是很粗糙,只是自己觉得自己懂了,在实际应用层面还有很高的提升空间。然后就是比赛的心态问题,比赛还是要淡定一点hh,总是不自觉地急躁这样就丢掉了许多本来可以得分的题目。然后吧,今年是思考自己最多的一

2020-11-29 15:12:19 230 1

原创 从二分查找到lower_bound和upper_bound

今天听了y总的二分查找模板。做模板题目的时候,发现找一个数字在有序数组中出现的最早和最后一个,这不就是STL中的lower_bound和upper_bound么。二分查找模板模板1int l = 0, r = n - 1;while(l < r){ int mid = l + r >> 1; if(a[mid] >= find) r = mid; else l = mid + 1;}//对应着lower_bound,找到数组中某个元素第一次出现的位置。这种情

2020-11-25 19:23:21 249

原创 PTA L2-004 这是二叉搜索树吗?

题目:一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。//L2 - 004#include <iostream>#include <vector> using namesp

2020-11-24 20:33:21 248

原创 剑指Offer 33.二叉搜索树的后序遍历

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。class Solution {public: bool divide(vector<int>& post, int i, int j) { if(i >= j) return true; int p = i; while(post[p] < post[j]

2020-11-24 20:13:22 39

原创 一文理解BFS

做题一直使用DFS较多,很少用BFS,之前了解了一下,昨天做题恰好用到了。分享一下自己对BFS的理解,个人感觉仿佛打开了大门。BFS - 广度优先搜索,就是我们每次走一步,步步拓展开来,最后达到终点(不像DFS一步步深入,不行就返回,走过所有可能)这里我们从红色的这个点开始,并写上这是第一步。然后我们往周围的点移动一步,也就是绿色的方块,绿色的方块写上第二步这样直到我们走到终点的时候,我们最短是走7步。实际上,我们每次的BFS都类似上面的过程,每次走一步(当然要满足题目条件的一步)。这样直到

2020-11-24 18:51:05 156

原创 C++常用容器汇总

考试多次可以用到,但有些容器用法根本不熟练或者不知道,故总结一下序列式容器vector创建vectorvector v;vector v(10); /指定了大小后可以使用下标操作基本操作v.capacity(); //容器容量v.size(); //容器大小v.at(int idx); //用法和[]运算符相同v.push_back(); //尾部插入v.pop_back(); //尾部删除v.front(); //获取头部元素v.back(); //获取

2020-11-05 20:19:20 980 1

原创 二分思想

对于二分,二分是一种思想,二分的前提是单调性,但单调性不一定直接写在题目中,而是答案存在单调性。如这道题使用二分的前提就是答案的范围是0-最大值之间,所以通过转化我们就可以对此题使用二分例题:AcWing102二分函数double l = 0, r = 2000;while (r - l > 1e-5) { double mid = (l + r) / 2; if (check(mid)) l = mid; else r = mid;}

2020-11-05 15:59:00 657

原创 离散化思想

离散化离散化适合在数据范围很大但是又只使用部分数据的时候使用例题 : AcWing 103离散化函数:sort(a, a + n);for(int i = 0; i < n; i ++ ) { if(i == 0 || a[i] != a[i-1]) { b[m++] = a[i]; }}//排序后进行离散化int query (int x) { return low_bound(b, b + m, x) - b;}//查找数据映射到哪个整数上了

2020-11-01 20:25:19 118

原创 算法中的数学问题(基础篇)

最近在准备算法比赛,稍微的总结了一下算法中比较常用到常见的数学问题,分享给大家。1.最大公约数int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }2.最小公倍数int lcm(int a, int b) { return a / gcd(a, b) * b; // d = gcd(a,b) a*b / d 就是最小公倍数 // ,为了防止计算溢出 改成

2020-09-07 14:45:01 592

原创 树的直径(数学推导)

这篇写了重点在于数学推导,单纯的说总感觉有些情况没考虑。所以特地推导一下树的直径两次dfs求法可行条件:现有树tree有直径ab(直径就是树的最长路径)推论:从树上任意一点能达到的最远的一个点一定是直径的端点。反证法:假设推论的反面成立,从树上任意一点达到的最远一个点不是直径的端点...

2020-08-18 10:23:15 172

原创 无向图的环路问题

1.无向图求是否存在环路Union-find算法实现判断环路具体做法举个例子现在有无向图存在环路 0-1-2-0有三组关系连接 0-1 0-2 1-2用一个集合加入每个关系的点0-1 {0, 1}0-2 {0,1,2}1-2 两个点在集合中都存在,说明存在环路关系无重复(无向图)#include <iostream>#include <set>using namespace std;int main() { int

2020-08-17 20:29:08 974 1

原创 JVM入门学习笔记

今天一口气听完了周阳的JVM课程,写了一个脑图的笔记,分享一下。部分内容截图如下,链接在文末链接: https://pan.baidu.com/s/1_LR5n7E6sDc8rR_M92rDkQ 提取码: 2020

2020-06-09 20:51:46 122

原创 函数依赖以及三范式

函数依赖以及三范式今天为了数据库考试复习了这一块内容,有点感触,写一写。复习的时候感觉到函数依赖和三范式对于数据库的设计很有帮助,个人觉得可以让你找到自己数据库设计的不妥之处。函数依赖分为部分依赖、完全依赖、传递依赖部份依赖 通过AB能得出C,通过A也能得出C,通过B也能得出C,那么说C部分依赖于AB。完全依赖 通过AB能得出C,但是AB单独得不出C,那么说C完全依赖于AB.传递依赖 通过A得到B,通过B得到C,但是C得不到B,B得不到A,那么成C传递依赖于A三范式

2020-06-07 14:36:09 1039

原创 读取不知道大小的数组

读取不知道大小的数组为了准备开学的算法比赛,最近逐渐重新做算法。刚好遇到了读取一个不知道大小的数组,记录一下解决遇到的问题。//1.一开始的代码#include<bits/stdc++.h>using namespace std;int main(){ int number; vector<int> array; while(1){ cin>>number; array.push_back(number); if(cin.get() == '

2020-06-03 20:30:15 460

idea英文包和中文包.zip

IDEA的汉化包,

2019-06-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除