当前位置: 首页 > news >正文

计算机考研复试机试-考前速记

考前速记 知识点

1. 链表篇
1. 循环链表报数3,输出最后一个报数编号
#include <iostream>
using namespace std;typedef struct Node {int no;struct Node* next;
}Node, *NodeList;void createNodeListTail(NodeList&L, int n) {L = (Node*)malloc(sizeof(Node));L->no = -1;L->next = NULL;Node* tail = L;for (int i = 0; i < n; i++) {Node* x = (Node*)malloc(sizeof(Node));x->no = (i + 1);x->next = NULL;tail->next = x;tail = x;}tail->next = L->next; // 形成循环链表return;
}int main() {int n;cin >> n;NodeList L;createNodeListTail(L, n);Node* pre = L; // 记录退出序号的前驱Node *p = pre->next;int LastNo = -1; // 记录每次退出的序号int count = 0; // 记录删除的结点个数while (count < n) {int i = 1;while (i < 3) {pre = p;p = p->next;i++;}Node* q = p; // 出队LastNo = q->no;pre->next = q->next;p = pre->next;free(q);count++;}cout << LastNo << endl;return 0;
}
2. 链表基本操作
#include <iostream>
#include <vector>
using namespace std;typedef struct LNode {int data;struct LNode* next;
}LNode, *LinkList;// 头插法建立链表
void createLinkListHead(LinkList &L, int n) {L = (LNode*)malloc(sizeof(LNode));L->data = -1;L->next = NULL;for (int i = 0; i < n; i++) {int data;cin >> data;LNode* x = (LNode*)malloc(sizeof(LNode));x->data = data;x->next = L->next;L->next = x;}
}// 删除第n个位置的元素
bool deleteN(LinkList& L, int n) {int count = 1;LNode* pre = L;LNode* p = pre->next;while (p) {if (count == n) {LNode* q = p;pre->next = q->next;p = pre->next;free(q);cout << "delete OK" << endl;return true;}else {pre = pre->next;p = p->next;}count++;}cout << "delete fail" << endl;return false;
}// 输出第n个位置元素
bool getN(LinkList L, int n) {int count = 1;LNode* p = L->next;while (p) {if (count == n) {cout << p->data << endl;return true;}p = p->next;count++;}cout << "get fail" << endl;return false;
}// 在第n个元素之后插入元素
bool insertBeforePOSN(LinkList& L, int pos, int data) {int count = 1;LNode* pre = L;LNode* p = pre->next;LNode* x = (LNode*)malloc(sizeof(LNode));if (p == NULL && pos == 1) { // 处理空链表插入x->data = data;x->next = NULL;L->next = x;cout << "insert OK" << endl;return true;}while (p) {if (count == pos) {x->data = data;x->next = p;pre->next = x;cout << "insert OK" << endl;return true;}else {pre = p;p = pre->next;}count++;}cout << "insert fail" << endl;return false;
}// 输出L
void showL(LinkList L) {LNode* p = L->next;if (p == NULL) {cout << "Link list is empty" << endl;return;}while (p) {cout << p->data << " ";p = p->next;}cout << endl;return;
}int main() {int n;cin >> n;LinkList L = (LNode*)malloc(sizeof(LNode));createLinkListHead(L, n);int m;cin >> m;vector<string> op(m);vector<int> param1(m);vector<int> param2(m);for (int i = 0; i < m; i++) {cin >> op[i];if (op[i] == "get" || op[i] == "delete") {cin >> param1[i];param2[i] = -1;}else if (op[i] == "insert") {cin >> param1[i] >> param2[i];}else if(op[i] == "show") {param1[i] = -1;param2[i] = -1;}}for (int i = 0; i < m; i++) {if (op[i] == "delete")deleteN(L, param1[i]);else if (op[i] == "get")getN(L, param1[i]);else if (op[i] == "insert")insertBeforePOSN(L, param1[i], param2[i]);else if (op[i] == "show")showL(L);}return 0;
}
2. vector & set
1. find方法
#include <vector>
#include <algorithm>
vector<int> arr;
auto it = find(arr.begin(), arr.end(), p->no);
if (it != arr.end()) {cout << it - arr.begin() << endl; // 获取下标//...
}
2. 一维数组,元素为[a, b]
vector<pair<int, int>> temp; // 记录感染的房间
temp.push_back({i, j});
for (int k = 0; k < temp.size(); k++) { int i = temp[k].first;int j = temp[k].second;//...
}
3. set去重
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;int main() {int arr[31] = { 0 };int n;cin >> n;for (int i = 0; i < n; i++)cin >> arr[i];sort(arr, arr + n);set <pair< int,int >> unique_pairs; // 定义setfor (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (i != j && unique_pairs.find({ arr[i], arr[j] }) == unique_pairs.end()) { // set查找cout << "(" << arr[i] << "," << arr[j] << ")" << endl;unique_pairs.insert({ arr[i], arr[j] }); // set插入}}}return 0;
}
3. 排序
1. 快速排序
#include <iostream>
using namespace std;int partition(int arr[], int left, int right) {int pivot = arr[left];while (left < right) {while (left<right && arr[right] >= pivot) right--;arr[left] = arr[right];while (left<right && arr[left] <= pivot) left++;arr[right] = arr[left];}arr[left] = pivot;return left;
}void QuickSort(int arr[], int left, int right) {if(left>=right) return;int mid = partition(arr, left, right);QuickSort(arr, left, mid - 1);QuickSort(arr, mid + 1, right);return;
}int main() {int arr[100];int n;cin >> n;for (int i = 0; i < n; i++)cin >> arr[i];QuickSort(arr, 0, n - 1);for (int i = 0; i < n; i++) cout << arr[i] << " ";cout << endl;return 0;
}
2. 归并排序
#include <iostream>
using namespace std;const int MAXN = 1e5 + 10;
int temp[MAXN];
int arr[MAXN];
void merge(int arr[], int left, int right) {for (int i = left; i <= right; i++)temp[i] = arr[i];int mid = (left + right) / 2;int i = left, j = mid + 1;int k = left; // 从left位置开始存储while (i <= mid && j <= right) {if (temp[i] <= temp[j])arr[k++] = temp[i++];elsearr[k++] = temp[j++];}while (i <= mid)arr[k++] = temp[i++];while (j <= right)arr[k++] = temp[j++];return;
}void mergeSort(int arr[], int left, int right) {if (left >= right) return;int mid = (left + right) / 2;mergeSort(arr, left, mid); // 对左边递归mergeSort(arr, mid + 1, right); // 对右边递归merge(arr, left, right); // 归并
}
int main() {int n;cin >> n;for (int i = 0; i < n; i++)cin >> arr[i];mergeSort(arr, 0, n - 1);for (int i = 0; i < n; i++)cout << arr[i] << " ";cout << endl;return 0;
}
3. 希尔排序
#include <iostream>
using namespace std;const int MAXN = 1e5 + 10;
int arr[MAXN];void printArr(int arr[], int n) {for (int i = 0; i < n; i++)cout << arr[i] << " ";cout << endl;
}void insertSort(int arr[], int n, int dk) {for (int i = dk; i < n; i++) { // dk:n-1int k = arr[i];int j;for (j = i - dk; j >= 0; j -= dk) {if (arr[j] > k)arr[j + dk] = arr[j];elsebreak;}arr[j + dk] = k;}return;
}void shellSort(int arr[], int n) {for (int dk = n / 2; dk >= 1; dk /= 2){insertSort(arr, n, dk%2==0?dk+1:dk);printArr(arr, n);}return;
}int main() {int n;cin >> n;for (int i = 0; i < n; i++)cin >> arr[i];shellSort(arr, n);return 0;
}
4. 折半插入排序
#include <iostream>
using namespace std;void insertSort(int arr[], int n) {for (int i = 2; i <= n; i++) {arr[0] = arr[i]; // 待排元素int left = 1, right = i - 1;while (left <= right) { // 找位置int mid = (left + right) / 2;if (arr[mid] <= arr[0])left = mid + 1;elseright = mid - 1;}// 位置(含)之后元素后移for (int j = i - 1; j >= left; j--)arr[j + 1] = arr[j];// 插入待排元素arr[left] = arr[0];}return;
}
int arr[1000];
int main() {int n;cin >> n;for (int i = 1; i <= n; i++)cin >> arr[i];insertSort(arr, n);for (int i = 1; i <= n; i++)cout << arr[i] << " ";cout << endl;return 0;
}
5. 堆排序
#include <iostream>
using namespace std;void HeapAdjust(int arr[], int k, int len) {arr[0] = arr[k]; // 存储待排元素for (int i = k * 2; i <= len; i = 2 * i) { // 不停下坠找到存放arr[0]的位置if (i < len&& arr[i] < arr[i + 1])i++;if (arr[0] > arr[i])break;else {arr[k] = arr[i];k = i;}}arr[k] = arr[0]; // 放置待排元素return;
}void BuildMaxHeap(int arr[], int len) { // 建立大根堆for (int i = len / 2; i > 0; i--)HeapAdjust(arr, i, len);
}void swap(int& a, int& b) {int t = a;a = b;b = t;return;
}void HeapSort(int arr[], int len) {BuildMaxHeap(arr, len); // 建堆while (len > 1) {swap(arr[1], arr[len--]);HeapAdjust(arr, 1, len);}//for (int i = len; i > 1; i--) {//	swap(arr[1], arr[i]);  // 交换arr[1] 和 arr[len--] //	HeapAdjust(arr, 1, i - 1); // 重新调整堆//}return;
}const int MAXN = 1e5 + 10;
int arr[MAXN];int main() {int n;cin >> n;for (int i = 1; i <= n; i++)cin >> arr[i];HeapSort(arr, n);for (int i = 1; i <= n; i++)cout << arr[i] << " ";cout << endl;return 0;
}
4. 数学
1. 质数
#include <iostream>
using namespace std;const int MAXN = 1000;
bool isPrime[MAXN];void init() {for (int i = 0; i < MAXN; i++)isPrime[i] = true; // 初始化都是质数isPrime[0] = false;isPrime[1] = false;for (int i = 2; i < MAXN; i++) {if (isPrime[i] == false)continue;// i是质数for (int k = i*i; k < MAXN; k += i) {isPrime[k] = false; // 质数的倍数不是质数}}
}int main() {int n;cin >> n;init();for (int i = 0; i <= n; i++)if (isPrime[i])cout << i << endl;return 0;
}
2. double小数问题
#include <iostream>
#include <iomanip> // ***
using namespace std;int main() {int n;cin >> n;double sum = 0;for (int i = 1; i <= n; i++) sum += double(1.0 / i);  // ** 1.0/icout << fixed << setprecision(6) << sum << endl; // ***return 0;
}
3. ip转16进制输出
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;int main() {int a, b, c, d;scanf("%d.%d.%d.%d", &a, &b, &c, &d);bool isFlag = true; // 输入是否合法if (a > 255 || b > 255 || c > 255 || d > 255)isFlag = false;if(a<0||b<0||c<0||d<0)isFlag = false;if(getchar() != '\n')isFlag = false;if (isFlag == false)printf("Error\n");elseprintf("0x%02X%02X%02X%02X", a, b, c, d); // printf("%4o %2X\n", num, num); // 输出8进制 16进制return 0;
}
4. 快速幂
#include <iostream>
using namespace std;int main() {long x, n;cin >> x >> n;int mod = 233333;long long res = 1;while (n != 0) {if (n % 2 == 1)res = (res * x) % mod;x = (x * x) % mod;n /= 2;}cout << res << endl;return 0;
}
5. 字符转数字 数字转字符
char c;
int n;
int num = c - '0';
char cc = n + '0';
string str="1234";
int num = stoi(str);
5.动态规划
1. 放苹果
#include <iostream>
#include <cstring>
using namespace std;int main() {int dp[13][13] = { 0 };int count;cin >> count;while (count--) {int m, n; // dp[m][n] m个苹果放入n个盘子cin >> m >> n;memset(dp, 0, 13 * 13);for (int i = 0; i <= m; i++) {dp[i][1] = 1; // 一个盘子只有1种方法放苹果}for (int i = 1; i <= n; i++) { // 至少一个盘子 从1开始遍历dp[0][i] = 1; // 0/1个苹果只有一种dp[1][i] = 1;}for (int i = 2; i <= m; i++) {for (int j = 2; j <= n; j++) {if (i >= j) { // 苹果大于等于盘子dp[i][j] = dp[i][j - 1] + dp[i - j][j];}else { // 苹果数量小于盘子 取决苹果dp[i][j] = dp[i][i];}}}cout << dp[m][n] << endl;}return 0;
}
2. 最长公共子序列长度
#include <iostream>
#include <algorithm>
using namespace std;int dp[1010][1010];int main() {string str1, str2;cin >> str1 >> str2;int m = str1.size(), n = str2.size();// dp[i][j] str1的前i个元素 str2的前j个元素的最大公共长度for (int i = 0; i <= m; i++) {dp[i][0] = 0;}for (int i = 0; i <= n; i++) {dp[0][i] = 0;}for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (str1[i-1] == str2[j-1])// str1[0, i-1] str2[0, j-1] ij元素取决于前0~i-1  0~j-1个元素dp[i][j] = dp[i - 1][j - 1] + 1;elsedp[i][j] = max(dp[i][j-1], dp[i-1][j]);}}cout << dp[m][n] << endl;return 0;
}
3. 最长连续公共序列 不含数字 只统计小写字母
#include <iostream>
#include <string>
#include <algorithm>using namespace std;int dp[1010][1010];
int main() {string str1, str2;cin >> str1 >> str2;int m = str1.size(), n = str2.size();// dp[i][j] str1前i个元素和str2前j个元素的最长连续字串长度for (int i = 0; i <= m; i++) dp[i][0] = 0;for (int i = 0; i <= n; i++)dp[0][i] = 0;int curmax = 0; // 记录当前最长连续子串长度for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (str1[i - 1] >= 'a' && str1[i - 1] <= 'z' && str1[i - 1] == str2[j - 1]) {// 右边缘相等为条件dp[i][j] = dp[i - 1][j - 1] + 1;curmax = max(dp[i][j], curmax);}elsedp[i][j] = 0;}}cout << curmax << endl;return 0;
}
4. 最大连续序列和
#include <iostream>
#include <algorithm>using namespace std;
int dp[1000];
int arr[1000];int main() {int n;cin >> n;for (int i = 0; i < n; i++)cin >> arr[i];dp[1] = arr[0];int curmax = dp[1];for (int i = 2; i <= n; i++) {if (dp[i - 1] > 0) // 前i-1个元素的连续序列和dp[i] = dp[i - 1] + arr[i-1]; // dp[i]代表前i个元素的连续序列和 arr[i-1] 代表第i个元素elsedp[i] = arr[i-1];curmax = max(dp[i], curmax);}cout << curmax << endl;return 0;
}
5. 最长递增子序列长度(非连续)
#include <iostream>
#include <algorithm>
using namespace std;const int MAXN = 1000 + 10;
int arr[MAXN];
int dp[MAXN];
int main() {int n;cin >> n;for (int i = 0; i < n; i++)cin >> arr[i];for (int i = 1; i <= n; i++) // 初始化 dp[i]都是1dp[i] = 1;int curmax = dp[1];for (int i = 1; i <= n; i++) {for (int j = 1; j <= i; j++) { // 第i个元素 与 前面的第j个元素比较 [i.....j] if (arr[i - 1] > arr[j - 1]) { // 第i个元素 > 第j个元素dp[i] = max(dp[j] + 1, dp[i]); // 刷新dp[i]的值curmax = max(dp[i], curmax);}}}cout << curmax << endl;return 0;
}
6. 01背包
#include <iostream>
#include <algorithm>
using namespace std;int dp[5001][202]; // 200个元素下标
int main() {int m, n; //01背包重量m n组数据 m[1, 5000]int w[202] = { 0 }, v[202] = { 0 }; // 每个物品的重量以及价值 [1, 200]cin >> m >> n;for (int i = 0; i < n; i++) // 输入n个物品的信息cin >> w[i] >> v[i];for (int i = 0; i <= m; i++) // 没有物品 价值0dp[i][0] = 0;for (int i = 0; i < n; i++) // 背包没有容纳重量 价值0dp[0][i] = 0;for (int i = 1; i <= m; i++) {for (int j = 1; j <= n; j++) {if (i < w[j - 1]) {// 如果背包剩余容量无法容纳第j件物品 返回前j-1物品的【value】dp[i][j] = dp[i][j - 1]; // dp[i][j-1] 代表i重量,前j-1件物品的价值 实际物品下标[0, j-2]}else {int remainM = i - w[j - 1]; // dp[remainM][j - 1] 买了第y件商品后剩下的钱用于买剩下的y-1件商品dp[i][j] = max(dp[i][j - 1], dp[remainM][j - 1] + v[j - 1]); // 前j-1的结果+第j件物品的价值// 不买第y件商品的价值 与 买第y件商品之后的价值对比 。。。剩下的钱不一定买的起前面j-1件商品}}}cout << dp[m][n] << endl;return 0;
}
6. 回溯
1. 组合
#include <iostream>
#include <vector>
using namespace std;
int choosen[100];
vector<int> res;void backTracking(int n, int k, int startIndex) {if (res.size() == k) {for (int i = 0; i < res.size(); i++)cout << res[i] << " ";cout << endl;return;}for (int i = startIndex; i <= n; i++) {if (choosen[i])continue;choosen[i] = 1;res.push_back(i);backTracking(n, k, i + 1); // 第三个参数:0 全排列, i+1递增集合(元素不可重复)res.pop_back();choosen[i] = 0;}
}int main() {int n;cin >> n;backTracking(n, 2, 1);return 0;
}
2. 全排列输出字母
#include <iostream>
#include <vector>
using namespace std;bool choosen[100];
vector<char> res;void backTracking(string str, int n, int startIdx) {if (res.size() == n) {for (int i = 0; i < res.size(); i++) cout << res[i];cout << endl;}for (int i = startIdx; i < n; i++) {if (choosen[i])continue;choosen[i] = true;res.push_back(str[i]);backTracking(str, n, 0);res.pop_back();choosen[i] = false;}return;
}int main() {string str;cin >> str;backTracking(str, str.size(), 0);return 0;
}
2024真题
1. 直接插入排序 第k趟结果
#include <iostream>
using namespace std;const int MAXN = 1010;
int arr[MAXN];void InsertSort(int arr[], int &n, int k) { // 输出插入排序第k趟排序for (int i = 1; i < n && i<k; i++) {int temp = arr[i]; // 当前待排元素int j;for (j = i - 1; j >= 0; j--) { // 对[0, i-1]元素排序if (arr[j] > temp) // 后移arr[j + 1] = arr[j];elsebreak;}arr[j + 1] = temp;}for (int i = 0; i < n; i++)cout << arr[i] << " ";cout << endl;return;
}
int main() {int k, x;cin >> k;int n = 0;while (cin >> x)arr[n++] = x;InsertSort(arr, n, k);return 0;
}
2. 最大连续序列和
#include <iostream>
#include <algorithm>
using namespace std;int arr[1010];
int dp[1010];
int main() {int n;cin >> n;for (int i = 0; i < n; i++)cin >> arr[i];dp[1] = arr[0]; // dp[i] 前i个数的序列和int curmax = dp[1];for (int i = 2; i <=n; i++) { // 处理dp[n]if (dp[i - 1] <= 0)dp[i] = arr[i - 1]; // arr[i-1] 指代第i个元素 arr范围[0, i-1] // 前i个元素elsedp[i] = dp[i - 1] + arr[i - 1];curmax = max(curmax, dp[i]);}cout << curmax << endl;return 0;}
3. 动态规划-多组数据,输入餐馆位置,餐馆需指定间隔距离, 餐馆利润,计算最大利润
#include <iostream>
using namespace std;int main() {int n; // n组数据cin >> n;int p[101]; // 位置int v[101]; // 利润int dp[102]; // dp[i] 前i个元素的结果while (n--) {int posN, dis; // 店铺数 间隔距离cin >> posN >> dis;for (int i = 0; i < posN; i++) // 输入店铺位置cin >> p[i]; for (int i = 0; i < posN; i++) // 输入店铺对应位置的利润cin >> v[i]; dp[1] = v[0]; // 只有一个餐馆int curmax = dp[1];for (int i = 2; i <= posN; i++) {if (p[i - 1] - p[i - 2] >= dis)  // 第i个地点与前一个地点相差距离需要满足disdp[i] = dp[i - 1] + v[i - 1];else dp[i] = max(dp[i-1], v[i-1]);curmax = max(dp[i], curmax);}cout << curmax << endl;}return 0;
}
4. 找到第k个素数
#include <iostream>
#include <vector>using namespace std;const int MAXN = 1010;
bool isPrime[MAXN]; // 记录0-1000 是否是素数
vector<int> prime; // 存入素数void init() {for (int i = 0; i < MAXN; i++)isPrime[i] = true;isPrime[0] = false;isPrime[1] = false;for (int i = 2; i < MAXN; i++) {if (isPrime[i] == false)continue;prime.push_back(i);for (int k = i * i; k < MAXN; k += i) // 质数的倍数 不是质数isPrime[k] = false;}
}int main() {init();int n;cin >> n;if (isPrime[n]) {cout << true << endl;}else {for (int i = n + 1; i < MAXN; i++)if (isPrime[i]) {cout << i << endl;break;}	}return 0;
}
5.中缀表达式转后缀表达式
#include <iostream>
#include <string>
#include <vector>
using namespace std;bool isOperator(char c) {return c == '+' || c == '-' || c == '*' || c == '/' || c == '(' || c == ')';
}bool isAbleOut(vector<char> stackArr, char c) {int tail = stackArr.size()-1;if (c == '(')return false;if (c == ')' && stackArr[tail] != '(')return true;if (stackArr[tail] != '(') if (c == '+' || c == '-')return true;else if (stackArr[tail] == '*' || stackArr[tail] == '/')return true;return false;
}int main() {string str;cin >> str;vector<char> stackArr;string res;for (int i = 0; i < str.size(); i++) {if (isOperator(str[i]) == false)res += str[i];else {while (stackArr.size() && isAbleOut(stackArr, str[i])) {int tail = stackArr.size()-1;res += stackArr[tail];stackArr.pop_back();}	if (str[i] != ')')stackArr.push_back(str[i]);else// 右括号时 直到结束时, stack需要弹出(stackArr.pop_back();}}for (int i = stackArr.size() - 1; i >= 0; i--)res += stackArr[i];cout << res << endl;return 0;
}

相关文章:

计算机考研复试机试-考前速记

考前速记 知识点 1. 链表篇 1. 循环链表报数3&#xff0c;输出最后一个报数编号 #include <iostream> using namespace std;typedef struct Node {int no;struct Node* next; }Node, *NodeList;void createNodeListTail(NodeList&L, int n) {L (Node*)malloc(siz…...

【漏洞复现】Next.js中间件权限绕过漏洞 CVE-2025-29927

什么是Next.js&#xff1f; Next.js 是由 Vercel 开发的基于 React 的现代 Web 应用框架&#xff0c;具备前后端一体的开发能力&#xff0c;广泛用于开发 Server-side Rendering (SSR) 和静态站点生成&#xff08;SSG&#xff09;项目。Next.js 支持传统的 Node.js 模式和基于边…...

路由选型终极对决:直连/静态/动态三大类型+华为华三思科配置差异,一张表彻底讲透!

路由选型终极对决&#xff1a;直连/静态/动态三大类型华为华三思科配置差异&#xff0c;一张表彻底讲透&#xff01; 一、路由&#xff1a;互联网世界的导航系统二、路由类型深度解析三者的本质区别 三、 解密路由表——网络设备的GPS华为&#xff08;Huawei&#xff09;华三&a…...

【AI】知识蒸馏-简单易懂版

1 缘起 最近要准备升级材料&#xff0c;里面有一骨碌是介绍LLM相关技术的&#xff0c;知识蒸馏就是其中一个点&#xff0c; 不过&#xff0c;只分享了蒸馏过程&#xff0c;没有讲述来龙去脉&#xff0c;比如没有讲解Softmax为什么引入T、损失函数为什么使用KL散度&#xff0c;…...

uniapp运行到支付宝开发者工具

使用uniapp编写专有钉钉和浙政钉出现的样式问题 在支付宝开发者工具中启用2.0构建的时候&#xff0c;在开发工具中页面样式正常 但是在真机调试和线上的时候不正常 页面没问题&#xff0c;所有组件样式丢失 解决 在manifest.json mp-alipay中加入 "styleIsolation&qu…...

STM32学习笔记之keil使用记录

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…...

卷积神经网络 - 参数学习

本文我们通过两个简化的例子&#xff0c;展示如何从前向传播、损失计算&#xff0c;到反向传播推导梯度&#xff0c;再到参数更新&#xff0c;完整地描述卷积层的参数学习过程。 一、例子一 我们构造一个非常简单的卷积神经网络&#xff0c;其结构仅包含一个卷积层和一个输出…...

【加密社】币圈合约交易量监控,含TG推送

首先需要在币安的开发者中心去申请自己的BINANCE_API_KEY和BINANCE_API_SECRET 有了这个后&#xff0c;接着去申请一个TG的机器人token和对话chatid 如果不需要绑定tg推送的话&#xff0c;可以忽略这步 接下来直接上代码 引用部分 from os import system from binance.c…...

大模型概述

大模型属于Foundation Model&#xff08;基础模型&#xff09;[插图]&#xff0c;是一种神经网络模型&#xff0c;具有参数量大、训练数据量大、计算能力要求高、泛化能力强、应用广泛等特点。与传统人工智能模型相比&#xff0c;大模型在参数规模上涵盖十亿级、百亿级、千亿级…...

【CSS3】完整修仙功法

目录 CSS 基本概念CSS 的定义CSS 的作用CSS 语法 CSS 引入方式内部样式表外部样式表行内样式表 选择器基础选择器标签选择器类选择器id 选择器通配符选择器 画盒子文字控制属性字体大小字体粗细字体倾斜行高字体族font 复合属性文本缩进文本对齐文本修饰线文字颜色 复合选择器后…...

C++ 的 if-constexpr

1 if-constexpr 语法 1.1 基本语法 ​ if-constexpr 语法是 C 17 引入的新语法特性&#xff0c;也被称为常量 if 表达式或静态 if&#xff08;static if&#xff09;。引入这个语言特性的目的是将 C 在编译期计算和求值的能力进一步扩展&#xff0c;更方便地实现编译期的分支…...

【电气设计】接地/浮地设计

在工作的过程中&#xff0c;遇到了需要测量接地阻抗的情况&#xff0c;组内讨论提到了保护接地和功能接地的相关需求。此文章用来记录这个过程的学习和感悟。 人体触电的原理&#xff1a; 可以看到我们形成了电流回路&#xff0c;导致触电。因此我们需要针对设备做一些保护设计…...

Gone v2 配置管理3:连接 Nacos 配置中心

&#x1f680; 发现 gone-io/gone&#xff1a;一个优雅的 Go 依赖注入框架&#xff01;&#x1f4bb; 它让您的代码更简洁、更易测试。&#x1f50d; 框架轻量却功能强大&#xff0c;完美平衡了灵活性与易用性。⭐ 如果您喜欢这个项目&#xff0c;请给我们点个星&#xff01;&a…...

深度强化学习中的深度神经网络优化策略:挑战与解决方案

I. 引言 深度强化学习&#xff08;Deep Reinforcement Learning&#xff0c;DRL&#xff09;结合了强化学习&#xff08;Reinforcement Learning&#xff0c;RL&#xff09;和深度学习&#xff08;Deep Learning&#xff09;的优点&#xff0c;使得智能体能够在复杂的环境中学…...

浅拷贝与深拷贝

浅拷贝和深拷贝是对象复制中的两种常见方式&#xff0c;它们在处理对象的属性时有本质的区别。 一. 浅拷贝&#xff08;Shallow Copy&#xff09; 浅拷贝是指创建一个新对象&#xff0c;然后将当前对象的非静态字段复制到新对象中。如果字段是值类型的&#xff0c;那么将复制字…...

macOS 安装 Miniconda

macOS 安装 Miniconda 1. Quickstart install instructions2. 执行3. shell 上初始化 conda4. 关闭 终端登录用户名前的 base参考 1. Quickstart install instructions mkdir -p ~/miniconda3 curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o…...

分布式限流方案:基于 Redis 的令牌桶算法实现

分布式限流方案&#xff1a;基于 Redis 的令牌桶算法实现 前言一、原理介绍&#xff1a;令牌桶算法二、分布式限流的设计思路三、代码实现四、方案优缺点五、 适用场景总结 前言 在分布式场景下&#xff0c;接口限流变得更加复杂。传统的单机限流方式难以满足跨节点的限流需求…...

OpenHarmony子系统开发 - 电池管理(二)

OpenHarmony子系统开发 - 电池管理&#xff08;二&#xff09; 五、充电限流限压定制开发指导 概述 简介 OpenHarmony默认提供了充电限流限压的特性。在对终端设备进行充电时&#xff0c;由于环境影响&#xff0c;可能会导致电池温度过高&#xff0c;因此需要对充电电流或电…...

Cocos Creator版本发布时间线

官网找不到&#xff0c;DeepSeek给的答案&#xff0c;这里做个记录。 Cocos Creator 1.x 系列 发布时间&#xff1a;2016 年 - 2018 年 1.0&#xff08;2016 年 3 月&#xff09;&#xff1a; 首个正式版本&#xff0c;基于 Cocos2d-x 的 2D 游戏开发工具链&#xff0c;集成可…...

修形还是需要再研究一下

最近有不少小伙伴问到修形和蜗杆砂轮的问题&#xff0c;之前虽然研究过一段时间&#xff0c;但是由于时间问题放下了&#xff0c;最近想再捡起来。 之前计算的砂轮齿形是一整段的&#xff0c;但是似乎这种对于有些小伙伴来说不太容易接受&#xff0c;希望按照修形的区域进行分…...

Java面试黄金宝典11

1. 什么是 JMM 内存模型 定义 JMM&#xff08;Java Memory Model&#xff09;即 Java 内存模型&#xff0c;它并非真实的物理内存结构&#xff0c;而是一种抽象的概念。其主要作用是规范 Java 虚拟机与计算机主内存&#xff08;Main Memory&#xff09;之间的交互方式&#x…...

华为p10 plus 鸿蒙2.0降级emui9.1.0.228

需要用到的工具 HiSuite Proxy V3 华为手机助手11.0.0.530_ove或者11.0.0.630_ove应该都可以。 官方的通道已关闭&#xff0c;所以要用代理&#xff0c;127.0.0.1端口7777 https://www.firmfinder.ml/ https://professorjtj.github.io/v2/ https://hisubway.online/articl…...

高速开源镜像站网址列表2503

高速开源镜像站网址列表 以下是国内常用的高速开源镜像站网址列表&#xff0c;涵盖企业和教育机构的主要站点&#xff0c;适用于快速下载开源软件和系统镜像&#xff1a; 一、企业镜像站 阿里云镜像站 地址&#xff1a;https://mirrors.aliyun.com/ 特点&#xff1a;覆盖广泛…...

Python----计算机视觉处理(Opencv:绘制图像轮廓:寻找轮廓,findContours()函数)

一、轮廓 轮廓是图像中目标物体或区域的外部边界线或边界区域&#xff0c;由一系列相连的像素构成封闭形状&#xff0c;代表了物体的基本外形。与边缘不同&#xff0c;轮廓是连续的&#xff0c;而边缘则不一定是连续的。 轮廓与边缘的区别&#xff1a; 轮廓是一组连续的点或线…...

python --face_recognition(人脸识别,检测,特征提取,绘制鼻子,眼睛,嘴巴,眉毛)/活体检测

dlib 安装方法 之前博文 https://blog.csdn.net/weixin_44634704/article/details/141332644 环境: python==3.8 opencv-python==4.11.0.86 face_recognition==1.3.0 dlib==19.24.6人脸检测 import cv2 import face_recognition# 读取人脸图片 img = cv2.imread(r"C:\U…...

【测试工具】如何使用 burp pro 自定义一个拦截器插件

在 Burp Suite 中&#xff0c;你可以使用 Burp Extender 编写自定义拦截器插件&#xff0c;以拦截并修改 HTTP 请求或响应。Burp Suite 支持 Java 和 Python (Jython) 作为扩展开发语言。以下是一个完整的流程&#xff0c;介绍如何创建一个 Burp 插件来拦截请求并进行自定义处理…...

51单片机和STM32 入门分析

51单片机和STM32是嵌入式开发中两种主流的微控制器&#xff0c;它们在架构、性能、应用场景等方面存在显著差异。以下是两者的对比分析及选择建议&#xff1a; 1. 51单片机与STM32的定义与特点 51单片机 定义&#xff1a;基于Intel 8051内核的8位微控制器&#xff0c;结构简单…...

python暴力破解html表单

import requests import time# 目标URL url "http://192.168.3.101/pikachu/vul/burteforce/bf_form.php" # 请替换为实际的目标URL# 已知的用户名 username "admin"# 密码字典文件路径 password_file "passwords.txt"# 伪造请求头&#xff…...

DeepSeek+RAG局域网部署

已经有很多平台集成RAG模式&#xff0c;dify&#xff0c;cherrystudio等&#xff0c;这里通过AI辅助&#xff0c;用DS的API实现一个简单的RAG部署。框架主要技术栈是Chroma,langchain,streamlit&#xff0c;答案流式输出&#xff0c;并且对答案加上索引。支持doc,docx,pdf,txt。…...

流影---开源网络流量分析平台(一)(小白超详细)

目录 流影介绍 一、技术架构与核心技术 二、核心功能与特性 流影部署 流影介绍 一、技术架构与核心技术 模块化引擎设计 流影采用四层模块化架构&#xff1a;流量探针&#xff08;数据采集&#xff09;、网络行为分析引擎&#xff08;特征提取&#xff09;、威胁检测引擎&…...

在IDEA中快速注释所有console.log

在IDEA中快速注释所有console.log 在前端IDEA中&#xff0c;快速注释所有console.log语句可以通过以下步骤实现2&#xff1a; 打开要修改的文件。使用快捷键CtrlF打开搜索框。点击打开使用正则搜索的开关或者通过AltR快捷键来打开。在搜索框输入[]*console.log[]*&#xff0c;…...

python全栈-前端

python全栈-前端 文章目录 HTML标签段落p、换行br、水平线hr图片img路径src超文本链接a超链接之锚点href#id文本有序列表ol无序列表ul自定义列表表格table表格属性单元格合并 表单Forminput标签HTML5新增type属性HTML5新增常用属性 实体字符块元素与行内元素/内联元素容器元素d…...

基于PySide6与pycatia的CATIA绘图文本批量处理工具开发实践

引言 在CAD软件二次开发领域&#xff0c;CATIA的自动化处理一直存在开发门槛高、接口复杂等痛点。本文基于Python生态&#xff0c;结合PySide6 GUI框架与pycatia接口库&#xff0c;实现了一套高效的绘图文本批量处理工具。该工具支持背景视图文本批量处理和交互式文本选择处理…...

Jenkins 集成 SonarQube 代码静态检查使用说明

环境准备 Jenkins 服务器 确保 Jenkins 已安装并运行&#xff08;推荐 LTS 版本&#xff09;。安装插件&#xff1a; SonarQube Scanner for Jenkins&#xff08;用于集成 SonarQube 扫描&#xff09;NodeJS Plugin&#xff08;可选&#xff0c;用于 JavaScript 项目&#xff0…...

pytorch构建线性回归模型

仅仅用于自己记录pytorch学习记录 线性回归模型 &#xff08;1&#xff09;准备数据集 数据&#xff1a;三个数据x[x1,x2,x3] y[y1,y2,y3] import torch #线性回归&#xff0c;我们使用三组数据&#xff0c;分别是&#xff08;1,2&#xff09;&#xff0c;&#xff08;2,4&a…...

本地部署 LangManus

本地部署 LangManus 0. 引言1. 部署 LangManus2. 部署 LangManus Web UI 0. 引言 LangManus 是一个社区驱动的 AI 自动化框架&#xff0c;它建立在开源社区的卓越工作基础之上。我们的目标是将语言模型与专业工具&#xff08;如网络搜索、爬虫和 Python 代码执行&#xff09;相…...

skynet网络包库(lua-netpack.c)的作用解析

目录 网络包库&#xff08;lua-netpack.c&#xff09;的作用解析1. 数据包的分片与重组2. 网络事件处理3. 内存管理4. 数据打包与解包 动态库&#xff08;.so&#xff09;在 Lua 中的使用1. 编译为动态库2. Lua 中加载与调用(1) 加载模块(2) 核心方法(3) 使用示例 3. 注意事项 …...

XXL-Job 二次分片是怎么做的?有什么问题?怎么去优化的?

XXL-JOB二次分片机制及优化策略 二次分片实现原理 XXL-JOB的二次分片是在分片广播策略的基础上&#xff0c;由开发者自行实现的更细粒度数据拆分。核心流程如下&#xff1a; 初次分片&#xff1a;调度中心根据执行器实例数量&#xff08;总分片数n&#xff09;分配分片索引i&…...

零基础本地部署 ComfyUI+Flux.1 模型!5 分钟搭建远程 AI 绘图服务器(保姆级教程)

文章目录 前言1. 本地部署ComfyUI2. 下载 Flux.1 模型3. 下载CLIP模型4. 下载 VAE 模型5. 演示文生图6. 公网使用 Flux.1 大模型6.1 创建远程连接公网地址 7. 固定远程访问公网地址 前言 在如今这 AI 技术一路火花带闪电、疯狂往前冲的时代&#xff0c;图像生成模型那可不再是…...

ABC398题解

A 算法标签: 模拟 #include <iostream> #include <algorithm> #include <cstring>using namespace std;const int N 110;int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int n;cin >> n;string res;if (n % 2) {int mid n / 2;f…...

数据通信——计算机基础

通信系统的组成 通信系统是指从一个地方向另外一个地方传递和交换信息&#xff0c;实现信息传递所需的一切技术设备和传输媒体的总和。通信系统一般由信源、发送设备、信道、接收设备、信宿以及噪声源组成&#xff0c;以下是各部分的具体介绍&#xff1a; 信源 信源是产生各…...

量子计算与人工智能的融合:下一代算力革命

1. 引言&#xff1a;算力需求的飞速增长与量子计算的潜力 在信息技术飞速发展的今天&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到我们生活的方方面面&#xff0c;从智能助手到自动驾驶&#xff0c;再到医疗诊断&#xff0c;AI 的应用场景日益广泛。然而&#xf…...

神经网络解决非线性二分类

这份 Python 代码实现了一个简单的神经网络&#xff0c;用于解决复杂的非线性二分类问题。具体步骤包含生成数据集、定义神经网络模型、训练模型、测试模型以及可视化决策边界。 依赖库说明 python import numpy as np import matplotlib.pyplot as plt from sklearn.datase…...

nuxt3网站文章分享微信 ,QQ功能

1.安装 npm install qrcode --save-dev 2.组件使用 <div class"share"><div style"line-height: 69px; color: #fff;width: 100px;"><p style"text-align: center;">分享:</p></div><div click"shareToMi…...

深入理解Spring框架:核心概念与组成剖析

引言 在Java企业级开发领域&#xff0c;Spring框架无疑是当之无愧的王者。自2003年首次发布以来&#xff0c;Spring凭借其强大的功能、高度的灵活性和卓越的扩展性&#xff0c;已成为构建大型企业应用程序的首选框架。本文将深入探讨Spring框架的核心概念与多样组成部分&#…...

Ubuntu22.04美化MacOS主题

安装Tweaks 参考Ubuntu 22.04 桌面美化成Mac风格这篇更好点 sudo apt install gnome-tweaks gnome-shell-extensions -y安装macos主题 git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git # 进到文件目录 ./install.sh -t all -N glassy sudo ./tweaks.sh -g…...

MySQL: 创建两个关联的表,用联表sql创建一个新表

MySQL: 创建两个关联的表 建表思路 USERS 表&#xff1a;包含用户的基本信息&#xff0c;像 ID、NAME、EMAIL 等。v_card 表&#xff1a;存有虚拟卡的相关信息&#xff0c;如 type 和 amount。关联字段&#xff1a;USERS 表的 V_CARD 字段和 v_card 表的 v_card 字段用于建立…...

JavaScript 中for...in和for...of循环的原理区别,在遍历对象和数组时分别如何使用

大白话JavaScript 中for…in和for…of循环的原理区别&#xff0c;在遍历对象和数组时分别如何使用 嘿&#xff0c;朋友&#xff01;咱来唠唠 JavaScript 里 for...in 和 for...of 这两种循环的事儿。它们就像是两个不同的小帮手&#xff0c;能帮你在对象和数组里溜达溜达&…...

图解AUTOSAR_SWS_WatchdogInterface

AUTOSAR Watchdog Interface (WdgIf) 详解 AUTOSAR经典平台看门狗接口模块技术详解 目录 1. 概述 1.1 WdgIf模块的作用1.2 WdgIf在AUTOSAR中的位置2. 架构设计 2.1 WdgIf架构概览2.2 接口设计2.3 序列设计3. 配置详解 3.1 配置参数3.2 配置结构3.3 配置类型4. 总结 4.1 主要特点…...

快速搭建yolo测试环境,超简明的神经网络训练说明书

1 快速搭建yolo测试环境 相对于更早的版本&#xff0c;v5是比较舒服的&#xff0c;直接把仓库拉下来就行&#xff0c;不用单独搞测试脚本和权重文件 $ git clone https://github.com/ultralytics/yolov5.git然后就是切到目录下安装依赖的第三方库&#xff1a; $ cd yolov5 $…...