自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 收藏
  • 关注

原创 局部聚集系数

局部聚集系数是网络分析中的一个概念,用于衡量一个节点的邻居节点之间连接的紧密程度。

2023-06-14 12:00:52 870 1

原创 二分查找替代函数

找出的位置就用找出的位置就是。

2023-06-10 16:14:51 111

原创 重新理解一遍二分

/ 开区间while (l + 1 < r) // l + 1 = r时结束return l;

2023-05-13 18:47:30 155 1

原创 mac上vscode连接实验室服务器配置

【代码】mac上vscode连接实验室服务器配置。

2023-04-20 20:18:17 260

原创 vue项目不能正常启动

项目会弹出浏览器,但是没有正常访问,查询后可能是nodejs版本过高,但是我又不想重新下载,可以试试如下指令,在进行启动。

2023-03-26 22:48:59 433 1

原创 homebrew安装及安装mysql

自己去官网安装总是有各种小问题于是就卸载了重新找了个镜像安装。

2023-03-26 21:40:20 225

原创 c++ upper_bound(), lower_bound()

有时候可以代替手写二分

2022-09-29 15:22:13 353

原创 输入整数,用数组读入

数组读入输入无空格的整数

2022-09-20 13:24:38 387

原创 字符和数字的转换

字符和数字的转换

2022-09-16 14:38:23 135

原创 判断素数c++

判断素数

2022-09-10 12:52:18 212

原创 求最大公约数(c++)

最大公约数

2022-09-09 13:48:15 755

原创 c++快速实现比较三个数的大小

三个数比较快速得到最大最小值

2022-09-08 16:44:07 1944

原创 有关闰年的判定

判断是否为闰年

2022-09-08 15:18:17 117

原创 c++ 对一个浮点数取整问题

取整

2022-09-07 10:52:53 180

原创 LeetCode12 整数转罗马数字

用打表法,取出其中特殊的12个。class Solution {public: string intToRoman(int num) { int val[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; string util[] = {"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}

2022-05-17 23:01:21 81

原创 leetcode11 盛水最多的容器

最开始我没有很好的思路只能暴力求解,样例可以过,但是时间复杂度高了最终通不过,只能进一步优化。//暴力求解class Solution {public: int maxArea(vector<int>& height) { int res = 0, v = 0; for (int i = 0; i < height.size(); i ++) { for(int j = i + 1; j < heig

2022-05-16 11:32:06 73

原创 c++中有关哈希表的STL操作

set基于红黑树实现,可以进行去重和排序操作。O(logn)。一些常用的函数有:s.insert(x);s.erase(x);s.size();s.find(x);s.count(x); //因为有去重性质,count()统计出现的次数要么是0,要么是1,可以替代find()s.empty();unordered_setO(1)。一些常用的函数:s.insert();s.erase();s.find();s.count();s.empty();map<.

2022-03-18 17:34:59 1516 1

原创 与二进制有关的一些操作

n&1把n与1按位与,因为1除了最低位,其他位都为0,所以按位与结果取决于n最后一位,如果n最后一位是1,则结果为1.反之结果为0。&运算通常用于二进制取位操作,例如一个数 & 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数。...

2022-03-17 09:41:18 115

原创 c++实现读入一行字符串

string s;getline(cin, s);典型应用:读入一行,将单词的首字母大写。

2022-03-11 16:55:04 718

原创 c++字符串转数字

例如:输入数字1234;string s;cin >> s;for(auto x : s) cout << x - '0' << endl;输出结果:1234

2022-02-25 15:42:36 433

原创 2021-05-23

x >> i & 1;x 二进制表示,第 i 位 是1 还是0

2021-05-23 11:22:29 78

原创 2的n次方快速写法

1 << n;

2021-05-19 21:12:25 1992

原创 数论

1、质数定义:在大于1的整数中,如果只包含1和本身这两个约数,就被称为质数(素数)。小于等于1的数既不是质数,也不是合数。质数的判定----试除法\sqrt{n}bool is_prime(int u) { if (u < 2) return false; for (int i = 2; i <= u / i; i ++ ) { if (u % i == 0) return false; } return tr

2021-05-13 07:47:03 89

原创 欧几里得算法

int gcd(int a, int b){ return b ? gcd(b, a % b) : a;}

2021-05-08 09:37:31 74

原创 最短路算法

一、朴素版Dijkstraint n, m; //n:点的个数 m:边的条数int g[N][N]; //存储每条边 int dist[N]; //存储1号点到每个点的最短距离bool st[N]; //存储每个点的最短路是否已经确定// 求1号点到n号点的最短路,如果不存在则返回-1int dijkstra(){ memset(dist, 0x3f, sizeof dist); dist[1] = 0; for(int i = 0; i &

2021-05-05 15:04:37 84

原创 DFS

123的全排列作例子,每个叶节点就是一个答案深搜就是在每个结点不停往深里搜索的搜索方法。深搜很重要的有回溯和剪枝。回溯必须要还原现场打一个比方:回溯就相当于父母把你放在家里出去了,等父母回来如果你把房间弄乱了后果很严重。回溯也是这个道理回溯的代码一般是这样的:for(......){ st[i] = true; //结点被访问 /*......*/; //做一些其他的操作 dfs(u + 1); //递归下一层 st[i] = false; /*.....*/; //还原现场}

2021-04-19 21:30:42 80

原创 并查集

干什么:将两个集合合并询问两个元素是否在一个集合当中并查集可以在近乎O(1)的时间复杂度快速支持以上两个操作。基本原理用树的形式维护所有集合,每一个集合的编号是根节点的编号,对于每一个点,都存储一个父节点,当想求某一个点属于哪个集合的时候,可以根据这个点的父节点往上一直找到根节点,当前结点属于的集合的编号就是树根的编号问题1:如何判断树根:if(p[x] == x);问题2:如何求x的集合编号:while(p[x] != x) x = p[x];问题3:如何合并两个集合:px是x的集合编

2021-04-18 19:52:24 68

原创 数组模拟链表

思想:将指针弱化为下标代码模板

2021-04-11 21:20:20 54

原创 离散化

离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。适用范围:数组中元素数值很大,但个数不是很多。比如将a[]=[1,3,100,2000,500000]映射到[0,1,2,3,4]这个过程就叫离散化。

2021-04-11 17:34:37 61

原创 区间合并

什么是区间合并:假如给定 n 个闭区间[ai,bi],其中i=1,2,…,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1,2]和[2,3]可以合并为[1,3],[1,3]和[2,4]可以合并为[1,4],但是[1,2] 和 [3,4] 不可以合并。思路按区间左端点排序扫描整个区间,扫描过程中将所有有交集的区间合并,第i个区间与当前维护的区间的关系分三种情况:第i个区间在当前区间的内部,区间合并完以后左右端点st,ed不变第i个区间与当前区间有交集,但不在内部,区间合并

2021-04-11 17:22:07 2287

原创 双指针算法

常见问题分类:对于一个序列,用两个指针维护一段区间对于两个序列,维护某种次序,比如归并中合并两个有序序列的操作

2021-04-11 15:13:44 58

原创 位运算

求n的第k位数字: n >> k & 1返回n的最后一位1: lowbit(n) = n & -n

2021-04-11 15:05:20 44

原创 前缀和

什么是前缀和原数组: a[1], a[2], a[3], a[4], a[5], …, a[n]前缀和 Si为数组的前 i项和前缀和: S[i] = a[1] + a[2] + a[3] + … + a[i]注意: 前缀和的下标一定要从 1开始, 避免进行下标的转换前缀和的作用快速求出元素组中某段区间的和s[i] = s[i - 1] + a[i];模板int main(){ cin >> n >> m; for(int i = 1; i

2021-04-09 20:10:38 95

原创 ios::sync_with_stdio(false)

加快cin的读入速度,可以拿来替代scanf

2021-04-09 19:55:35 366

原创 二分查找算法模板

算法思路:假设目标在闭区间**[l , r]中, 每次将区间长度缩小一半,当l = r**时,我们就找到了目标 .版本1当我们将区间怕**[l , r]划分成[l, mid]和[mid + 1 , r]时,其更新操作是r = mid** 或者 l = mid + 1; , 计算mid时不需要加1 .int bsearch_1(int l, int r){ while(l < r){ int mid = l + r >> 1; if(check(mid)) r = m

2021-04-02 23:08:21 80

原创 实现向上取整小技巧

测试

2021-03-20 20:18:18 352

原创 基于快排的快速选择算法

题目描述给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第 k 个数。时间复杂度O(n)思路:要找到的第k个数如果比快排分出来左边个数小,就递归左边; 如果第k个数比分出来左边个数大,就递归右边完整代码#include<iostream>using namespace std;const int N = 1e6 + 10;int q[N];int n, k;int quick_sort(int l, int r, int

2021-03-20 15:29:28 378

原创 超简洁10行代码实现快速排序

话不多说,直接贴代码以前写过一个快速排序的代码,(点击此处查看),是模仿算法第四版的作者写的,这次更加的简洁,算是进阶版吧, 感谢y总.说明一下, 这里x =q[l + r >> 1]就是x = q[(l + r) / 2], 取中位数. 当然也可以写x = q[l]和x = q[r].完整代码#include<iostream>using namespace std;const int N = 1e6 + 10;int n;int q[N];void qu

2021-03-20 14:50:18 334 3

原创 Acwing-递归实现指数型枚举

题目描述:从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入样例:3输出样例:322 311 31 21 2 3思考过程:涉及到递归,脑中要有一颗递归搜索树,叶结点即使结果参数确定:1.当前考虑第几个数2.前面的数有没有选bool st[]完整代码:#include<iostream>#include<algorithm>using namespace std; const int N = 20;bool

2021-03-19 22:06:42 55

原创 LeetCode-反转链表Ⅱ

题目描述:给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。实例输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]思考示意图完整代码/** * Definition for singly-linked list. * struct ListNode { * int val;

2021-03-18 23:23:26 101

空空如也

空空如也

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

TA关注的人

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