自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常见的第三方依赖管理工具:Maven、Gradle、npm、Nuget……(什么是第三方依赖工具)

相反,你可以使用第三方依赖,例如一个流行的日期选择器插件。这样能够节省大量的开发时间和精力,并且能够利用已经测试和优化过的代码,提高功能的稳定性和用户体验。Gradle:Gradle 是一个灵活强大的构建工具,可以用于构建多种类型的项目,包括 Java、Android、Groovy 等。Maven:Maven 是一个流行的 Java 项目管理和构建工具,它可以帮助管理项目的依赖关系。通过在 Maven 的配置文件中定义依赖项,Maven 将自动下载并管理这些依赖,简化了项目构建和依赖管理过程。

2023-09-05 12:06:58 816

原创 蓝桥web应用组网页 PPT

除了使用办公软件来制作 PPT,利用前端技术其实我们也可以制作一个在浏览器播放的 PPT,这样的 PPT 更加方便传播和查看,而且可以最大限度地利用前端技术的布局和交互能力。本题请实现一个讲授 HTML 基础知识的网页 PPT。

2023-04-07 09:54:31 112

原创 【无标题】

方法,可以在DOM树中遍历当前元素的相邻兄弟节点,并将这些兄弟节点组成一个新的jQuery对象返回。具体来说,该代码会监听class属性名为"option"的所有HTML元素的点击事件,并在点击时执行相应的回调函数。是jQuery封装的一个DOM遍历方法,用于查找当前元素的所有兄弟元素。方法将兄弟元素上的"active"类名移除。这样,当用户选择某个元素时,被选择的元素会添加一个"active"类,其他元素则会移除该类。方法获取该元素的兄弟元素,即其他class属性名为"option"的元素,然后再调用。

2023-04-07 08:25:40 91

原创 归并排序解决逆序对的数量问题

将序列从中间分开,将逆序对分成三类:两个元素都在左边;两个元素都在右边;两个元素一个在左一个在右;

2022-07-18 12:04:11 94

原创 归并排序思路及例题

//第一步:找到分界点,分成子问题 int mid = l + r >> 1; //第二步:递归处理子问题 merge_sort(q, l, mid); merge_sort(q, mid + 1, r); //第三步:*合并子问题*

2022-07-17 15:54:43 117

原创 快速排序·例题二

给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列从小到大排序后的第k个数。

2022-07-13 12:27:24 328

原创 快速排序例题

快排属于分治算法,分治算法一般分为三步:1. 分成子问题2. 递归处理子问题3. 子问题合并

2022-07-13 12:12:12 736

原创 Python 列表修改、增加、删除元素的方法

修改列表元素的方法列表名[索引] = 新值增加元素的方法:如列表名为 s ,需要添加的元素为 [a, b, c](1)列表名.append(新元素)append每次只能添加一个元素到列表尾(2)列表名.insert(索引, 新元素)(3)列表名.extend( [新元素的集合] ) extend()方法可以一次添加多个元素(4) 列表名[len(列表名):] = [新元素的集合]...

2022-04-19 20:46:05 1392

原创 Python入门—乘法表、找素数

>>> i = 1>>> while i <= 9:... j = 1... while j <= i:... print(j, "*", i, " =", i * j, end = " ")... j += 1... print( )... i += 1print默认是打印一行,结尾加换行。end= " " 意思是末尾不换行,加空格。代码结果如图..

2022-04-19 16:39:42 340

原创 DFS 之 全排列

题目描述给定一个整数 n,将数字 1 ∼ n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围: 1 ≤ n ≤ 7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1https://www.acwing.com/problem/content/844/思路:dfs深度优先遍历的思想比较简.

2022-03-31 21:26:45 1397

原创 哈希表【数组模拟散列表】(开放寻址法和拉链法)

例题描述:维护一个集合,支持如下几种操作:I x,插入一个数x; Q x,询问数x是否在集合中出现过;现在要进行 N 次操作,对于每个询问操作输出对应的结果。输入格式第一行包含整数 N,表示操作数量。接下来 N 行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。输出格式对于每个询问指令 Q x,输出一个询问结果,如果 x 在集合中出现过,则输出 Yes,否则输出 No。每个结果占一行。数据范围: 1 ≤ N ≤ 1051 −10^9 ≤...

2022-03-28 22:41:53 138

原创 堆排序(用数组模拟小根堆)

输入一个长度为 n 的整数数列,从小到大输出前 m 小的数。输入格式第一行包含整数 n 和 m。第二行包含 n 个整数,表示整数数列。输出格式共一行,包含 m 个整数,表示整数数列中前 m 小的数。数据范围1 ≤ m ≤ n ≤ 1051,1 ≤ 数列中元素 ≤ 1091输入样例:5 34 5 1 3 2输出样例:1 2 3原题链接:https://www.acwing.com/problem/content/840/#include<.

2022-03-26 23:28:23 1799

原创 并查集维护树的深度(即每个点到根节点的距离)

题目:食物链描述:动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以 1 ∼ N编号。每个动物都是A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示X和Y是同类。第二种说法是2 X Y,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,...

2022-03-26 13:57:59 233

原创 连通块中 点的数量

题目描述:给定一个包含n 个点(编号为1∼n)的无向图,初始时图中没有边。现在要进行m个操作,操作共有三种:C a b,在点aa和点bb之间连一条边,a和b可能相等; Q1 a b,询问点a和点b是否在同一个连通块中,a和b可能相等; Q2 a,询问点a所在连通块中点的数量;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为C a b,Q1 a b或Q2 a中的一种。输出格式对于每个询问指令Q1...

2022-03-24 23:11:23 378 1

原创 并查集之合并集合

题目描述:一共有 n个数,编号是 1∼n,最开始每个数各自在一个集合中。现在要进行 m个操作,操作共有两种:M a b,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为a和bb的两个数是否在同一个集合中;输入格式第一行输入整数 n 和 m。接下来m行,每行包含一个操作指令,指令为M a b或Q a b中的一种。输出格式对于每个询问指令 Q a b,都要输出一个结果,如果 a 和 b ...

2022-03-24 13:29:00 65

原创 二阶差分(注意数据范围)

题目描述小明在练习绝世武功,nn个练功桩排成一排,一开始每个桩的损伤为00。接下来小明会练习mm种绝世武功,每种武功都会对[l, r][l,r]区间分别造成[s,e][s,e]的伤害。这个伤害是一个等差序列。例如l = 1, r = 4, s = 2, e = 8l=1,r=4,s=2,e=8,则会对1-41−4号练功桩造成2, 4, 6, 82,4,6,8点损伤。小明想让你统计一下所有练功桩的损伤的和。输入描述第一行输入n, mn,m,代表练功桩的数量...

2022-03-22 22:04:30 2967

原创 Trie字符串插入与统计

原题链接:https://www.acwing.com/problem/content/837/#include<iostream>using namespace std;const int N = 100010;int son[N][26], cnt[N], idx = 0;//作用分别为:存子节点、存节点数、开辟即将用到的的新节点char str[N];void insert(char str[])//不需要返回数值,函数类型定义为void{ int p...

2022-03-22 14:49:45 443

原创 滑动窗口

原题链接:https://www.acwing.com/problem/content/156/#include<iostream>using namespace std;const int N = 1000010;int a[N], q[N];//q存的是下标int main(){ int n, k; scanf("%d%d", &n, &k); for(int i = 0; i < n; i ++) sca...

2022-03-20 19:52:54 50

原创 用数组模拟队列

原题链接:https://www.acwing.com/problem/content/831/#include<iostream>using namespace std;const int N = 100010;int tt, hh, q[N];int main(){ int m; cin >> m; while(m --) { string a; cin >> a;...

2022-03-18 20:04:34 48

原创 用数组模拟栈

原题链接:https://www.acwing.com/problem/content/830/#include<iostream>using namespace std;const int N = 100010;int q[N], tt;int main(){ int m; scanf("%d", &m); while(m --) { string a; int x; ...

2022-03-17 23:03:22 48

原创 单调栈(包括栈顶是头和尾两种情况)

题目给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。输入格式第一行包含整数 N,表示数列长度。第二行包含 N 个整数,表示整数数列。输出格式共一行,包含 N 个整数,其中第 i 个数表示第 i 个数的左边第一个比它小的数,如果不存在则输出 −1。数据范围1≤N≤1051≤数列中元素≤109输入样例:53 4 2 7 5输出样例:-1 3 -1 2 2原题链接:https://www.acwing.co.

2022-03-17 22:55:45 82

原创 双链表(用数组模拟)

实现一个双链表,双链表初始为空,支持55种操作:在最左侧插入一个数; 在最右侧插入一个数; 将第k个插入的数删除; 在第k个插入的数左侧插入一个数; 在第k个插入的数右侧插入一个数现在要对该链表进行M次操作,进行完所有操作后,从左到右输出整个链表。注意:题目中第kk个插入的数并不是指当前链表的第kk个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入的数,第2个插入的数,…第n个插入的数。输入格式...

2022-03-15 19:22:34 130

原创 单链表(数组模拟)

https://www.acwing.com/problem/content/828/#include <iostream>using namespace std;const int N = 100010;// head 表示头结点的下标// e[i] 表示节点i的值// ne[i] 表示节点i的next指针是多少// idx 存储当前已经用到了哪个点int head, e[N], ne[N], idx;// 初始化void init(){ he...

2022-03-14 22:30:59 557

原创 在单调序列中求数的范围(二分法)

链接:https://www.acwing.com/problem/content/791/#include<iostream>using namespace std;const int N = 100010;int n, m, k;int q[N];int main(){ scanf("%d%d", &n, &m); for(int i = 0; i < n; i ++) scanf("%d", &q[i...

2022-03-06 16:00:38 42

原创 二进制中1的个数(lowbit算法与暴力枚举)

原题链接:https://www.acwing.com/problem/content/803/算法一:lobit(lowbit) O(nlogn)O(nlogn)使用lowbit操作,进行,每次lowbit操作截去一个二进制数字 x 最后一个1后面的所有位,每次减去lowbit得到的数字,直到数字 x 减到0,就得到了其二进制形式中的1的个数,lowbit原理根据计算机负数表示的特点,如一个数字原码是10001000,他的负数表示形势是补码,就是反码+1,反码是01110111,加一...

2022-03-05 10:41:15 265

原创 判断子序列(双指针算法)

原题链接:https://www.acwing.com/problem/content/2818/#include<iostream>using namespace std;const int N = 1e5 + 10;int n, m;int a[N], b[N];int main(){ scanf("%d%d", &n, &m); for(int i = 0; i < n; i ++ ) scanf("%d", .

2022-03-02 21:39:07 43

原创 数组元素的目标和(双指针算法)

题目链接:https://www.acwing.com/problem/content/802/#include<iostream>using namespace std;const int N = 100010;int a[N], b[N];int n, m, x;int main(){ scanf("%d%d%d", &n, &m, &x); for(int i = 0; i < n; i ++ ) scanf..

2022-03-02 21:01:19 41

原创 最长连续不重复子序列(双指针算法)

原题连接:https://www.acwing.com/problem/content/801/#include<iostream>using namespace std;const int N = 1e5 + 10;int a[N], s[N];int n = 0,r = 0;int main(){ cin >> n; for(int i = 0, j = 0; i < n; i ++ ) { c...

2022-03-01 23:33:43 271

原创 差 分 矩 阵

原题连接:https://www.acwing.com/problem/content/800/可参考子矩阵的和进行辅助理解:https://blog.csdn.net/weixin_62971133/article/details/123146409?spm=1001.2014.3001.5501#include<iostream>using namespace std;const int N = 1010;int a[N][N], b[N][N];int n, m...

2022-02-28 18:46:31 126

原创 差分(降低时间复杂度)

https://www.acwing.com/problem/content/799/#include<iostream>using namespace std;const int N = 100010;int n, m;int a[N], b[N];int main(){ scanf("%d%d", &n, &m); for(int i = 1; i <= n; i ++ ) { scan...

2022-02-28 12:49:24 199

原创 子矩阵的和(前缀和的二维版)

https://www.acwing.com/problem/content/798/#include<iostream>using namespace std;const int N = 1010;int a[N][N], s[N][N];int m, n, q;int main(){ scanf("%d%d%d", &m, &n, &q); for(int i = 1; i <= m; i++)

2022-02-26 10:57:48 108

原创 scanf 函数中 & 的原理与作用

简述:scanf函数是将输入的数据存储到指定的地址中。详述:理论上来说,scanf 接收的参数应该是指针,指针指向需要写入的内存, &对变量进行取址。若直接传一个int变量进去,会导致程序运行错误,因为 scanf 直接将传入的int变量的值当作需要写入内存的地址,而这种情况下几乎肯定会导致非法内存访问。参数是数组(或字符串)时,当数组 a 作为参数时会自动转换成指向数组首元素的指针,而 &a 则得到指向数组起始位置的指针,二者指向同一位置,效果上没有区别。...

2022-02-25 22:20:50 974

原创 前缀和总结

https://www.acwing.com/problem/content/797/#include<iostream>using namespace std;const int N = 100010;int q[N], s[N];int main(){ int m, n; cin >> m >> n; for(int i = 1; i <= m; i++) scanf("%d", &amp...

2022-02-25 22:00:33 389

原创 高精度除法(高除以低)

https://www.acwing.com/problem/content/796/#include<iostream>#include<string>#include<vector>#include<algorithm>using namespace std;//核心代码段 A / bvector<int>div(vector<int> &A, int b, int &r)// r ...

2022-02-25 11:40:14 91

转载 高精度乘法

一、高 乘 低https://www.acwing.com/problem/content/795/#include<iostream>#include<vector>using namespace std;vector<int>mul(vector<int>&a, int b){ vector<int>c; //int t = 0;也可以等效写在for循环的括号里。 for(int.

2022-02-21 20:57:12 64

原创 高精度减法

#include<iostream>#include<vector>using namespace std;bool cmp(vector<int>a,vector<int>b){ if ( a.size() != b.size() ) return a.size() > b.size(); for( int i=a.size()-1 ; i>=0 ; i-- ) { if(a[i]!=b[...

2022-02-21 14:08:07 355

原创 高精度加法

https://www.acwing.com/problem/content/793/#include<iostream>#include<string>#include<vector>using namespace std;vector<int>sum(vector<int>a, vector<int>b){ vector<int>result; int t = 0;//进...

2022-02-21 13:56:51 289

原创 爬楼梯问题(动态规划)

动态规划

2022-01-12 21:18:59 476

空空如也

空空如也

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

TA关注的人

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