自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 原码,反码,补码的关系和计算

原码,补码,反码之间的关系和计算

2022-08-16 18:24:45 3098 3

原创 【无标题】

校内选拔赛报告

2022-07-19 18:37:22 618

原创 哈希表的实现(两种方法)

哈希表的实现

2022-04-13 18:42:22 511

原创 AcWing 839(模拟堆)

模拟堆

2022-04-13 15:54:48 146

原创 AcWing 4398(查询字符串)

AcWing 4398

2022-04-10 09:55:56 88

原创 ACWing 4397(卡牌)

ACWing 4397

2022-04-10 09:10:18 232

原创 ACWing 154滑动窗口

题目链接:滑动窗口#include<iostream>using namespace std;const int maxn=1000000+5;int num[maxn];int q[maxn];int main(void){ int n,k; scanf("%d %d",&n,&k); for(int i=1;i<=n;i++) { scanf("%d",&num[i]); } int

2022-04-09 18:31:10 229

原创 ACWing 830单调栈

原题链接:单调栈#include<iostream>using namespace std;const int maxn=100000+10;int s[maxn];int top=0;int main(void){ int n; scanf("%d",&n); for(int i=0;i<n;i++) { int x; scanf("%d",&x); while(top&

2022-04-08 11:22:01 214

原创 表达式求值

练习链接:表达式求值#include<iostream>#include<unordered_map>#include<string>#include<cstring>#include<algorithm>#include<stack>using namespace std;stack<int>num;stack<char>op;void eval(){ int b=num.top(

2022-04-08 10:31:08 347

原创 数组模拟双链表

数组模拟双链表

2022-04-07 16:53:59 988

原创 ACWing 803区间合并

区间合并

2022-04-07 12:41:09 78

原创 双指针算法

双指针

2022-04-07 11:40:03 68

原创 AcWing 802. 区间和

区间和,离散化

2022-04-07 09:36:02 69

原创 高精度模板

高精度模板

2022-04-05 16:50:10 239

原创 AcWing 789(数的范围)

ACWing 789

2022-04-05 12:22:15 374

原创 逆序对的个数

分治法计算逆序对

2022-04-05 10:41:14 299

原创 归并排序算法

归并排序法

2022-04-04 22:50:07 1054

原创 第k个数(基于快速排序法)

第k个数,基于快速排序

2022-04-04 21:51:00 126

原创 快速排序法

快速排序

2022-04-04 18:46:21 90

原创 洛谷P2249

#include<iostream>#include<algorithm>using namespace std;const int maxn = 1000000 + 5;int input[maxn];int search(int l, int r,int x){ int mid; while (l < r) { mid = (l + r) >> 1; if (input[mid] >= x) { r = mid; }

2022-04-04 17:26:17 222

原创 哈密尔顿回路(深度优先搜索)

哈密尔顿回路(深度优先搜索)

2022-04-04 14:54:48 1335

原创 欧拉路之深搜算法

欧拉路的性质奇点:从该点出发所连的边数为奇数,则称该点为奇点存在欧拉路的条件:图是连通的,并且只有两个奇点证明:对于欧拉路,除了起点和终点外,每个点都要进入并出去一次(或多次),显然只有两个奇点。存在欧拉回路的条件:图是连通的,并且没有奇点证明:一旦进入某个点,就必须要从该点出来,入度和出度相同,显然没有奇点。#include<iostream>using namespace std;const int maxn = 1000 + 5;int G[maxn][maxn];in

2022-04-04 11:22:04 163

原创 最大子矩阵

最大子矩阵

2022-04-03 22:44:51 100

原创 AcWing 4394. 最长连续子序列

最长连续子序列

2022-04-03 20:57:54 61

原创 图的邻接点存储

邻接点的存储

2022-04-03 16:03:33 192

原创 图的邻接表存储

图的邻接表存储

2022-04-03 15:20:48 123

原创 堆的删除(三种方法)

堆的删除的两种方法

2022-04-03 10:35:01 1010

原创 堆的插入(三种方法)

堆插入的三种方法,堆排序

2022-04-02 18:59:55 1187

原创 树的基础知识

树的基础知识。前序遍历,中序遍历,后序遍历通过两种遍历反推二叉树通过两种遍历得到另一种遍历

2022-04-01 11:30:30 2124

原创 队列的基本操作

队列基本队列循环队列基本队列注意,队头不储存内容,只是用于标记,用来判断队是否为空。队伍满的条件是tail指针已经到了maxn-1#include<iostream>using namespace std;const int maxn = 1000;int q[maxn];int head = 0, tail = 0;void push(int v){ if (tail == maxn - 1) { printf("队满了\n"); return; } else

2022-03-29 22:32:00 88

原创 后缀表达式求值

中缀表达式转换为后缀表达式,并计算结果

2022-03-29 19:33:10 237

原创 进制转换(c++)

进制转换#include<iostream>using namespace std;int top = 0;//设置栈底int main(void){ int S[100]; int x, k; scanf("%d %d", &x, &k);//x为需要转换的数值,k为进制 while (x) { S[++top] = x % k;//获取在该进制下的最低位的数字 x /= k;//舍弃最后一位 } do { printf("%d ", S[

2022-03-29 11:54:12 899

原创 模拟链表的应用(约瑟夫问题)

约瑟夫问题题目:洛谷P1996题目描述nn 个人围成一圈,从第一个人开始报数,数到 mm 的人出列,再由下一个人重新从 11 开始报数,数到 mm 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。注意:本题和《深入浅出-基础篇》上例题的表述稍有不同。书上表述是给出淘汰 n-1 名小朋友,而该题是全部出圈。输入格式输入两个整数 n,mn,m。输出格式输出一行 nn 个整数,按顺序输出每个出圈人的编号。输入输出样例输入 #1复制10 3输出 #1复制3 6 9 2 7

2022-03-29 11:23:03 1336

原创 循环链表的应用

循环链表的应用约瑟夫问题约瑟夫问题#include<iostream>using namespace std;struct node{ int v; struct node* next;};node* head, * tail, * t;int main(void){ int n, m; scanf("%d%d", &n, &m); head = new node; head->v = 1; tail = head; for (int i

2022-03-28 21:37:48 565

原创 循环链表的操作

循环链表循环链表的创建增加插入删除完整代码循环链表的创建void create(int x){ node* newnode = new node; newnode->v = x; head = tail = newnode; newnode->next = head; num++;}增加void add(int x){ if (num == 0) { printf("链表为空\n"); return; } else { node* newnode

2022-03-28 18:02:58 910

原创 单链表的操作

单链表的操作创建遍历删除插入完整代码创建while(cin>>n&&n!=-1){ newnode = new node; newnode->next = NULL; newnode->v = n; if (head==NULL) { head = newnode; tail = newnode; } else { tail->next = newnode; tail = newnode; }}

2022-03-28 13:32:03 495

原创 数组的基本操作

数组的基本操作

2022-03-27 20:53:15 260

原创 内存的四个分区

c++程序运行的四个分区

2022-03-27 19:38:10 826

原创 UVa10003(切木棍)题解

UVa 10003题目理解解题思路最后一步重叠子问题状态转移方程边界处理递推顺序代码题目理解题目大意是给你一根木棍,棍子上有n个切割点,,要求将木棍分成n+1个部分,每次切割的费用是木棍的长度,输入是木棍的长度和切割点的个数(当木棍长度为0时程序退出,否则程序一直运行),输出是最小的总切割费用。解题思路这里我们用动态规划的思想解决这道题目,动态规划的关键就是要定义好状态,并找出状态转移方程,这里我们定义dp[i][j]表示切割点i到j这根子木棍所需的最小花费.最后一步在使用上述状态的情况下,dp

2022-02-12 23:08:45 608

原创 狄克斯特拉算法(Dijkstra)详细解释

文章目录算法用途(目的)算法思想与本质图文解释代码解析算法用途(目的)狄克斯特拉算法的用途或者说是目的是计算单源最短路径。单源最短路径的意思是从一个点出发到另外一个点最为的容易.举个例子解释,#mermaid-svg-nbf0pioDLfxvaYAO .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-nbf0

2022-01-22 20:49:21 5257 1

空空如也

空空如也

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

TA关注的人

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