- 博客(134)
- 收藏
- 关注

原创 Mac系统配置后台环境 详细教程
先说一下,我是来自东北师范大学信息科学与技术学院的一名Mac小萌新,由于身边用Mac的朋友确实比较少,在此写一篇博客关于Mac系统配置后台环境,希望能帮助到那些向往后端发展的朋友们。(当然我自己配置的路上可真是留下了无数心酸的眼泪)下面讲解5个部分,每个部分会从安装包到配置流程详细讲解。目录如下(每一部分都会附上相应的百度网盘安装包)JDKTomcatJDK安装包的话,建议找Windows系统下的会爬梯子的朋友帮你在官网下载,Mac也能爬梯子(但是收费,而且我目前没找到太靠谱的),不爬梯子下载速度慢到
2020-05-31 10:47:55
3394
4
原创 MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境
MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境
2023-10-11 14:20:07
1392
1
原创 org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor$ImportException
org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor$ImportException: No spring.config.import set
2023-03-11 16:27:25
2539
原创 并查集整理
并查集可以解决的问题:核心操作 findint find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x];}初始化(最开始代表一个点是一个集合)for(int i = 1; i <= n; i++) p[i] = i;判断两个元素是否属于一个集合if(find(a) == find(b)) cout << "Yes" << endl;else cout << "
2022-03-28 11:13:59
192
原创 PAT 第三讲 进位制
10进制转换成b进制带余除法思想如图所示,输出的时候需要逆向输出vector<int> nums;while(n) nums.push_back(n % b), n /= b;// 反向输出for(auto i = nums.rbegin(); i != nums.rend(); i++) cout << *i << ' ';回文数判断思想:双指针bool check(vector<int> &v) { for (int
2022-03-12 16:07:50
137
原创 PAT 第四讲 排序
结构体重载比较符号// 排序规则 按照 1. total 降序 2. cnt 降序 3. id 升序 进行的排序 bool operator<(const Student &t) const { if (total != t.total) return total > t.total; if (cnt != t.cnt) return cnt > t.cnt; return id < t.id;}自定义比较函数cmp(调用 sort() 时使用)// id
2022-03-11 23:53:59
1328
原创 C++ STL容器+结构体+一些常用函数(持续更新)
vector翻转reverse(v.begin(), v.end());遍历vector<Student> student;for (auto &x:student) { // 带上引用可以避免重复复制,降低时间成本消耗}unordered_map查找效率 O(1),涉及到查找操作,都可以使用hash表进行处理,会降低时间成本消耗新建 / 插入一个 key-valuestring id;unordered_map<string, Student>
2022-03-11 23:43:11
1928
原创 C++ 输入输出知识点(持续更新)
数据范围超过 1e5 要用 scanf 和 printf 去替换 cin 和 cout 时间消耗会降低很多。string 不能用 scanf 读入,但是可以用 char[] 读入去进行代替读入 int 需要加上 & 符号,char[] 则不能加char u_id[10];int p_id, p_grade;scanf("%s %d %d", u_id, &p_id, &p_grade);用 printf 输出 string 时是不能直接输出的,需要调用 c.str()
2022-03-11 23:35:01
1217
原创 Namomo Spring Camp 2022 Div2 Week1 每日一题
2.26 特殊的正方形2.27 走楼梯22.26 特殊的正方形做的时候没有多想,就是按照题目意思去模拟了一下。我的AC代码:#include <bits/stdc++.h>using namespace std;int n;char c[110][110];int main() { scanf("%d", &n); int r = 0, co = 0; while (1) { if (r & 1) {
2022-02-27 22:44:15
776
原创 AcWing 蓝桥杯C++ AB组辅导课 第一讲递归与递推
蓝桥杯C++ AB组辅导课例题92. 递归实现指数型枚举AC代码:#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;const int N = 16;int st[N];int n;void dfs(int u) { if(u == n) { for(int i = 0;
2022-01-29 09:15:36
988
原创 leetcode 35. 搜索插入位置
35. 搜索插入位置思路分析:二分模版题。AC代码:class Solution {public: int searchInsert(vector<int>& nums, int target) { if(nums.size() == 1) { if(nums[0] < target) return 1; else return 0; } int l = 0, r =
2022-01-13 22:17:48
132
原创 leetcode 278. 第一个错误的版本
278. 第一个错误的版本思路分析:二分查找模版啦!AC代码:class Solution {public: int firstBadVersion(int n) { int l = 1, r = n; while(l < r) { int mid = (long long)l + r >> 1; if(isBadVersion(mid)) r = mid; else
2022-01-13 22:07:30
120
原创 leetcode 704. 二分查找
704. 二分查找思路分析:板子题。背下来。理解。AC代码:class Solution {public: int search(vector<int>& nums, int target) { int l = 0, r = nums.size() - 1; while(l < r) { int mid = (l + r) >> 1; if(nums[mid] >=
2022-01-13 21:57:40
144
原创 leetcode 1月13日每日一题 747. 至少是其他数字两倍的最大数
747. 至少是其他数字两倍的最大数菜题,我觉得应该不会有人看这篇博客。AC代码:class Solution {public: int dominantIndex(vector<int>& nums) { int n = nums.size(); if(n == 1) return 0; int max = 0; int res; for(int i = 0; i
2022-01-13 11:42:29
187
原创 leetcode 300. 最长递增子序列
300. 最长递增子序列思路分析:维护一个数组v,这个数组中的v[i]表示最长子序列长度为 i+1 的子序列最后一位的最小值,并不断进行更新,如果当前数 num > v[i],则v[i + 1] = num边界情况1:如果当前数比该数组最大的还要大,那么长度就该更新啦,要新增边界情况2:如果当前数比该数组最小的还要小,那么长度不变,更新最小值AC代码:int lengthOfLIS(vector<int>& nums) { vector<int> q;
2022-01-12 22:13:05
166
原创 leetcode 1月12日每日一题 334. 递增的三元子序列
334. 递增的三元子序列思路分析:求最长上升子序列的简化版,维护一个长度为2的数组即可,因为题干中求解的长度是大于等于3,返回true,通过枚举即可,不需要像最长上升子序列一样每次都进行二分查找AC代码:class Solution {public: bool increasingTriplet(vector<int>& nums) { // 最长上升子序列变体,维护一个长度为2的数组即可 // 具体思路可以参考 300. 最长递增子
2022-01-12 22:01:22
173
原创 leetcode 1月10日每日一题 306. 累加数
306. 累加数思路分析:枚举第一个数和第二个数,高精度加法算出第三个数,然后进行比较AC代码:// C++class Solution {public: // 高精度加法板子 string add(string x, string y) { vector<int> A, B, C; { // 秦九韶算法 int res = 0; fo
2022-01-09 23:52:01
458
原创 leetcode 1月9日每日一题 1629. 按键持续时间最长的键
1629. 按键持续时间最长的键思路分析没啥好说的,就是STL容器的使用吧。AC代码class Solution {public: char slowestKey(vector<int>& releaseTimes, string keysPressed) { vector<int> v; v.push_back(releaseTimes[0]); for(int i = 1; i < releaseTi
2022-01-09 23:22:02
219
原创 Educational Codeforces Round 117 (Rated for Div. 2) ABCD
A. DistanceB. Special PermutationC. Chat BanD. X-Magic PairA. Distance思路分析读懂题意,分情况讨论一下即可AC代码#include<bits/stdc++.h>using namespace std;typedef long long ll;int T;int main() { cin >> T; while (T--) { int x, y;
2021-11-22 23:42:48
154
原创 Codeforces Round #753 (Div. 3) ABCD
A. Linear KeyboardB. Odd GrasshopperC. Minimum ExtractionD. Blue-Red PermutationA. Linear Keyboard思路分析思维题都不算。。。读懂题意。。。有手就行。。。AC代码#include <iostream>#include <algorithm>using namespace std;typedef pair<int,int> PII;typedef lo
2021-11-19 09:08:50
293
原创 Codeforces Round #755 Div. 2 ABCD
A. Mathematical AdditionB. Coloring RectanglesC. Two ArraysD. Guess the PermutationA. Mathematical Addition思路分析题目意思就是一个一个等价方程,给出 u 和 v,构造 x 和 y 使得方程成立我的想法是化简一下方程,最后得到的结果是 x * v * v + y * u * u = 0,又知道 u 和 v,所以就能构造出来了注意数据范围开 long long(因此WA了一发。。。)A
2021-11-16 10:54:01
545
原创 AcWing 844. 走迷宫 (BFS模版题)
AcWing 844. 走迷宫 (BFS模版题)思路分析BFS模版题,BFS是有一个小模版的,需要使用队列,这里是两种代码,一种是直接使用STL容器中的queue,另外一种是数组模拟队列AC代码1直接使用STL容器#include <iostream>#include <cstring>#include <queue>using namespace std;typedef pair<int, int> PII;const int N
2021-11-09 21:45:11
225
原创 AcWing 843. n-皇后问题 DFS
AcWing 843. n-皇后问题思路分析经典dfs问题,这里提供两套代码,一种经典的思路,一种利用了n皇后的游戏规则AC代码1一个格子一个格子枚举,时间复杂度2的n次方的n次方需要注意的是,一些限制条件#include <iostream>using namespace std;const int N = 20;int n;char c[N][N];bool row[N], col[N], dg[N], udg[N];// 枚举每个格子void dfs(i
2021-11-09 20:35:37
3109
原创 AcWing 842. 排列数字 DFS
思路分析:DFS深度优先搜索,就是按照每一位进行搜索,然后用过的数有一个标识即可AC代码:#include <iostream>using namespace std;const int N = 10;int path[N];bool st[N];int n;void dfs(int u) { if(u == n) { for(int i = 0; i < n; i++) { if(i != n - 1) .
2021-10-26 09:19:54
161
原创 Codeforces Round #743 (Div. 2) B. Swaps
思路:坐标存储 + 双指针 + 贪心AC代码#include <bits/stdc++.h>#define LL long long#define INF 0x3f3f3f3fusing namespace std; typedef pair<int,int> p;const int N = 1e5 + 10; int b[N];p a[N]; int n, t;int ans; int main() { while(cin >>..
2021-09-28 21:25:53
91
原创 Codeforces Round #743 (Div. 2) A. Countdown
简单思维题,直接上AC代码了AC代码#include <bits/stdc++.h>#define LL long long using namespace std;const int N = 1e5 + 10; char num[110];int n, t;int sum; int main() { while(cin >> t) { while(t--) { sum = 0; ci..
2021-09-28 21:19:29
93
原创 The 2021 ICPC Asia Regionals Online Contest (II) M Addition
题目大意:模拟一个自定义符号的加法器 a + b第一行位数,第二行符号位,第三行数字a,第四行数字b思路:当时没做出来,下来补题其实就是小模拟,模拟进位的过程。就想着进位是怎么处理的就行了。AC代码#include <bits/stdc++.h>using namespace std;const int N = 65;int t;int a[N], b[N], sgn[N], ans[N];int p = 0; // 模拟进位int main() { ..
2021-09-26 21:54:28
886
1
原创 Codeforces Round #741 (Div. 2) A. The Miracle and the Sleeper
A. The Miracle and the Sleeper题目大意给两个数 l,r 让你在其中找到 a,b 求的 a%b 取得最大值,需要满足 ????≥????≥????≥????.思路首先可以假设确定a,让a尽可能的大,即 a = r;然后思考b,b 最小值必须大于 l ,如果让 a%b 尽可能取得最大值,b 最大是 2a-1所以只需要让b取得 l 和 2a - 1 的最大值即可AC代码//#include <bits/stdc++.h>#include <ios
2021-09-02 11:28:01
165
原创 蓝旭暑期培训Day3——文件上传
蓝旭暑期培训Day3——文件上传所用到HTTP Content-Type 的类型文件上传前端代码后端文件上传 javax.servlet.http.Part我们在之前就讲过,图片等非文本文件不能用字符流,而要使用字节流去操纵,本质上就是将非文本文件转换为二进制数据流,再去进行相对应的操作。前后端交互中,经常用到的一个功能就是图片等非文本文件的上传(比如QQ头像的上传功能等)今天我们就以图片格式,来前后端交互中的文件上传。前置知识基础:JavaIO所用到HTTP Content-Type 的类型在
2021-07-22 10:45:25
563
2
原创 蓝旭暑期培训Day3——JSON使用与简单解析
蓝旭暑期培训Day3——JSON使用与解析JSON是什么JSON的语法规则JSON实际应用GSON——JSON的序列化与反序列化前后端交互JSON实操JSON是什么JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并
2021-07-22 02:14:56
567
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人