图论:单源最短路(BF算法+迪杰斯特拉算法+spfa算法)
单源最短路
概念
dijkstra实现(解决不了负权值)
P3371 【模板】单源最短路径(弱化版) - 洛谷
#include<iostream>
#include<vector>
#include<cstring>
using namespace std;typedef pair<int, int> PII;
const int N = 1e4 + 10;
const int INF = 2147483647;
vector<PII> edge[N];//i后面接的点j,和到j的距离
bool st[N];//是否已经确定是最优解
int dist[N];//起点到个点的最小值
int n, m, s;void dijksta()
{for (int i = 1; i < n; i++){int a = 0;for (int i = 1; i <= n; i++)//找目前dist中的最小值{if (!st[i] && dist[i] < dist[a])a = i;//没有被确定最优,且最小}st[a] = true;for (auto& ch : edge[a])//更新:松弛操作{int v = ch.first, w = ch.second;if (dist[v] > dist[a] + w){dist[v] = dist[a] + w;}}}for (int i = 1; i <= n; i++)cout << dist[i] << " ";
}int main()
{cin >> n >> m >> s;for (int i = 1; i <= m; i++){int x, y, z;cin >> x >> y >> z;edge[x].push_back({ y,z });}for (int i = 0; i <= n; i++)dist[i] = INF;//如果要初始化的数字太大,那就用不了memsetdist[s] = 0;//初始化起点dijksta();return 0;
}
P4779 【模板】单源最短路径(标准版) - 洛谷
#include<iostream>
#include<queue>
#include<vector>
#include<cstring>using namespace std;
typedef pair<int, int> PII;
const int N = 1e5 + 10;int n, m,s;
vector<PII> edge[N];
bool st[N];
int dis[N];
priority_queue<PII,vector<PII>,greater<PII>> q;void dijkstra()
{memset(dis, 0x3f, sizeof(dis));dis[s] = 0;q.push({ 0,s });//先存距离,后存结点,因为,greater会根据第一个数据first进行小跟堆排序while (q.size()){auto t = q.top(); q.pop();int a = t.second;if (st[a])continue;st[a] = true;for (auto& x : edge[a]){int b = x.first, c = x.second;if (dis[a] + c < dis[b]){dis[b] = dis[a] + c;q.push({ dis[b], b });}}}for (int i = 1; i <= n; i++)cout << dis[i] << " ";
}int main()
{cin >> n >> m>>s;for (int i = 1; i <= m; i++){int a, b, c; cin >> a >> b >> c;edge[a].push_back({ b,c });}dijkstra();return 0;
}
BF算法()可以解决负权以及最短路不存在的情况(负环)
负环:每次转一圈,权值就减小
P3371 【模板】单源最短路径(弱化版) - 洛谷
#include<iostream>
#include<vector>using namespace std;
const int N = 1e4 + 10;
const int INF = 2147483647;typedef pair<int, int> PII;
vector<PII> edge[N];
int dis[N];
int n, m , s;void BF()
{for (int i = 1; i <= n; i++)dis[i] = INF;dis[s] = 0;for (int i = 1; i < n; i++)//n-1条边,那就n-1次就好{bool judge = false;//没有了松弛操作,就退出for (int j = 1; j <= n; j++)//遍历全部{if (dis[j] == INF)continue;//if (dis[j] + b < dis[a]),这一步+,会让超出int范围变成负数,for (auto& x : edge[j]){int a = x.first, b = x.second;if (dis[j] + b < dis[a]){dis[a] = dis[j] + b;judge = true;//有松弛操作}}}if (judge == false)break;}for (int i = 1; i <= n; i++){if (dis[i] != INF)cout << dis[i] << " ";else cout << INF << " ";}
}int main()
{cin >> n >> m >> s;for (int i = 1; i <= m; i++){int x, y, z; cin >> x >> y >> z;edge[x].push_back({ y,z });}BF();
}
spfa算法:用队列对BF算法进行优化
#include<iostream>
#include<vector>
#include<queue>
using namespace std;
const int N = 1e4 + 10;
const int INF = 2147483647;typedef pair<int, int> PII;
vector<PII> edge[N];
int dis[N];
int n, m , s;
queue<PII> q;
bool st[N];void BF()
{for (int i = 1; i <= n; i++)dis[i] = INF;dis[s] = 0;q.push({ s,0 });st[s] = true;while (q.size()){auto t = q.front(); q.pop();int a = t.first, b = t.second;for (auto& x : edge[a]){int y = x.first, z = x.second;if (dis[a] + z < dis[y]){dis[y] = dis[a] + z;if(!st[y])q.push({ y, dis[y] });st[y] = true;}}}for (int i = 1; i <= n; i++){if (dis[i] != INF)cout << dis[i] << " ";else cout << INF << " ";}
}int main()
{cin >> n >> m >> s;for (int i = 1; i <= m; i++){int x, y, z; cin >> x >> y >> z;edge[x].push_back({ y,z });}BF();
}
标准版跑不过:是因为很容易创造数据针对spfa
只是对松弛的进行操作,松弛-进队。
负环P3385 【模板】负环 - 洛谷
bf算法实现
#include<iostream>
#include<cstring>
using namespace std;const int N = 2e3 + 10;
const int M = 3e3 + 10;int T, n, m;
int pos;//记录边的个数
struct node
{int u, v, w;
}edge[M*2];
int dis[N];bool bf()
{memset(dis, 0x3f3f3f3f, sizeof(dis));dis[1] = 0;//出发点bool flag;for (int i = 1; i <= n; i++){flag = false;for (int j = 1; j <= pos; j++){int a = edge[j].u, b = edge[j].v, c = edge[j].w;if (dis[a] == 0x3f3f3f3f)continue;if (dis[a] + c < dis[b]){dis[b] = dis[a] + c;flag = true;}}if (flag == false)return flag;//如果在n-1次到来前退出循环,说明,没有负环,返回false}return flag;//如果n-1次循环都没有返回false,那么就一定存在负环
}int main()
{cin >> T;while (T--){cin >> n >> m;pos = 0;for (int i = 1; i <= m; i++){int x, y, z; cin >> x >> y >> z;++pos;edge[pos].u = x, edge[pos].v = y, edge[pos].w = z;if (z >= 0){++pos;edge[pos].u = y, edge[pos].v = x, edge[pos].w = z;}}if (bf())cout << "YES" << endl;else cout << "NO" << endl;}
}
spfa算法实现
#include<iostream>
#include<vector>
#include<queue>
#include<cstring>using namespace std;
typedef pair<int, int> PII;const int N = 2e3 + 10;
const int M = 3e3 + 10;int t, n, m;
vector<PII> edge[N];
int dis[N];
bool st[N];
int cnt[N];bool spfa()
{//清除memset(dis, 0x3f, sizeof(dis));//一开始无穷大memset(cnt, 0, sizeof(cnt));//0memset(st, false, sizeof(st));//false//初始化queue<int> q;q.push(1);//推入1//初始化dis[1] = 0;st[1] = true;cnt[1] = 0;while (q.size()){int x = q.front(); q.pop();st[x] = false;for (auto& ch : edge[x]){int a = ch.first, b = ch.second;if (dis[x] + b < dis[a]){dis[a] = dis[x] + b;if (!st[a]){q.push(a);st[a] = true;}cnt[a] = cnt[x] + 1;if (cnt[a] >= n)return true;}}}return false;
}int main()
{cin >> t;while (t--){//清除for (int i = 1; i <= n; i++)edge[i].clear();cin >> n >> m;//输入for (int i = 1; i <= m; i++){int a, b, c; cin >> a >> b >> c;edge[a].push_back({ b,c });if (c >= 0){edge[b].push_back({ a,c });}}//大框架if (spfa())cout << "YES" << endl;else cout << "NO" << endl;}
}
总结
例题
P1629 邮递员送信 - 洛谷(推反图)
#include<iostream>
#include<cstring>
using namespace std;const int N = 1e3 + 10;
int n, m;
int edge[N][N];
int dis[N];
bool st[N];void dijkstra()
{memset(dis, 0x3f, sizeof(dis));memset(st, false, sizeof(st));dis[1] = 0;for (int i = 1; i <= n; i++)//n次操作{int t = 0;for (int j = 1; j <= n; j++){if (!st[j] && dis[j] < dis[t])t = j;//未标记加《dis[t]}st[t] = true;for (int j = 1; j <= n; j++){if (!st[j] && edge[t][j]+dis[t] < dis[j]){dis[j] = edge[t][j] + dis[t];}}}
}int main()
{cin >> n >> m;memset(edge, 0x3f, sizeof(edge));for (int i = 1; i <= m; i++){int x, y, z;cin >> x >> y >> z;edge[x][y] = min(edge[x][y], z);}dijkstra();int ret = 0;for (int i = 1; i <= n; i++)ret += dis[i];//推反图for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){if (i >= j)continue;swap(edge[i][j], edge[j][i]);}}dijkstra();for (int i = 1; i <= n; i++)ret += dis[i];cout << ret << endl;
}
起点和终点的调换,推反图,他每送完一旦就要返回去,那我们第一次算法,从1到其他店的距离之和记为去的距离,也就可以看成单元最短路问题
而回去的时候,把起点和终点进行调换,变成从其他个点到1的距离,进行调换后,也可以看成单源最短路问题
P1744 采购特价商品 - 洛谷
#include<iostream>
#include<cmath>using namespace std;const int N = 110;
const int M = 1010;int x[N], y[N];//店铺的坐标
struct node
{int s;//头int e;//尾double v;//长
}ed[M];//记录边1int n;//how many shops
int m;//通路
int star, en;//起点-终点
double dis[N];//起点到各点的距离double cal(int i, int j)//计算
{double a = x[i] - x[j];double b = y[i] - y[j];return sqrt(a * a + b * b);
}void BF()
{for (int i = 1; i <= n; i++) dis[i] = 1e10;//过大dis[star] = 0;for (int i = 1; i < n; i++)//n-1次操作{for (int j = 1; j <= m; j++)//每个边都遍历一遍{int s = ed[j].s;int e = ed[j].e;double v = ed[j].v;if (dis[s] + v < dis[e]){dis[e] = dis[s] + v;//更新}if (dis[e] + v < dis[s]){dis[s] = dis[e] + v;//更新,重边,没说有向边那就可能存在重边}}}}int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> x[i] >> y[i];}cin >> m;for (int i = 1; i <= m; i++){int a, b; cin >> a >> b;ed[i].s = a, ed[i].e = b;ed[i].v = cal(a, b);}cin >> star >> en;BF();printf("%.2lf", dis[en]);return 0;
}
蠢哭了,两点间距离公式,写成减号半天看不出来
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
P2136 拉近距离 - 洛谷
#include<iostream>
#include<cstring>
using namespace std;
const int N = 1010;
const int M = 1e4+10;int n, m;struct node
{int x, y, z;
}e[M];
int dis[N];bool BF(int s)
{memset(dis, 0x3f, sizeof(dis));dis[s] = 0;bool flag = true;for (int i = 1; i <= n; i++){flag = false;for (int j = 1; j <= m; j++){int a = e[j].x, b = e[j].y, c = e[j].z;//老是把这个地方写成i记得改!!!!if (dis[a] + c < dis[b]){dis[b] = dis[a] + c;//更新flag = true;//更新}}if (flag == false)return flag;}return true;
}int main()
{cin >> n >> m;for (int i = 1; i <= m; i++){cin >> e[i].x >> e[i].y >> e[i].z;e[i].z = -e[i].z;}//起点是1//双向的求最小if (BF(1)){cout << "Forever love" << endl;//有负环return 0;}int ret1 = dis[n];//记录//起点是nif (BF(n)){cout << "Forever love" << endl;//有负环return 0;}int ret2 = dis[1];cout << min(ret1, ret2) << endl;
}
bf或者spfa
双向求最小,两边都要进行遍历
int a = e[j].x, b = e[j].y, c = e[j].z;//老是把这个地方写成i记得改!!!!
P1144 最短路计数 - 洛谷
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<cstring>
#include<queue>
using namespace std;const int N = 1e6 + 10;
const int M = 2e6 + 10;
const int MOD = 100003;int n, m;
vector<int> edge[M];
int dis[N];
int f[N];void bfs()
{memset(dis, 0x3f, sizeof(dis));//初始化1dis[1] = 0;f[1] = 1;queue<int> q;q.push(1);while (q.size()){int t = q.front(); q.pop();for (auto& ch : edge[t]){int b = ch;if (dis[t] + 1 < dis[b])//第一次{dis[b] = dis[t] + 1;f[b] = f[t];q.push(b);}else if (dis[t] + 1 == dis[b]){f[b] = (f[b]+f[t])% MOD;}}}
}
typedef pair<int, int>PII;
bool st[N];
void dijkstra()
{memset(dis, 0x3f, sizeof(dis));dis[1] = 0;f[1] = 1;priority_queue<PII,vector<PII>,greater<PII>> q;q.push({ 0,1 });while (q.size()){auto t = q.top(); q.pop();int a = t.second;if (st[a])continue;st[a] = true;for (auto& ch : edge[a]){int x = ch;if (dis[a] + 1 < dis[x]){f[x] = f[a];dis[x] = dis[a] + 1;q.push({ dis[x],x });}else if (dis[a] + 1 == dis[x]){f[x] = (f[x] + f[a]) % MOD;}}}
}int main()
{cin >> n >> m;for (int i = 1; i <= m; i++){int x, y; scanf("%d%d", &x, &y);edge[x].push_back(y);edge[y].push_back(x);}/*bfs();*/dijkstra();for (int i = 1; i <= n; i++){printf("%d\n", f[i]);}return 0;
}
用bfs和dijkstra算法+动态规划来实现
相关文章:
图论:单源最短路(BF算法+迪杰斯特拉算法+spfa算法)
单源最短路 概念 dijkstra实现(解决不了负权值) P3371 【模板】单源最短路径(弱化版) - 洛谷 #include<iostream> #include<vector> #include<cstring> using namespace std;typedef pair<int, int> PII…...
嵌入式学习(35)-TTS语音模块FT-VBM-OS支持ModbusRTU
一、概述 FT-TTS-R-01 (下简简“模块”)是一款可将串口传入的文本信息转成语音播报的控制器。块”可下接收任意字 符或者汉字,并通过 TTS 语音合成功能,清晰、准确、自然的合成并播放音频。该块”还带有 1 路继电器输出࿰…...
【Vue-组件】学习笔记
目录 <<回到导览组件1.项目1.1.Vue Cli1.2.项目目录1.3.运行流程1.4.组件的组成1.5.注意事项 2.组件2.1.组件注册2.2.scoped样式冲突2.3.data是一个函数2.4.props详解2.5.data和prop的区别 3.组件通信3.1.父子通信3.1.1.父传子(props)3.1.2.子传父…...
Github上一些使用技巧(缩写、Issue的Highlight)自用
1. GIthub中的一些缩写 LGTM ! 最近经常看到一些迷之缩写,感觉挺有意思的,但是有时候看到一些没见过的缩写还是有点懵逼,不过缩写确实也是很方便去review,这里就记录汇总一下;顺便加了一些git的基操单词(加…...
【团体程序涉及天梯赛】L1~L2实战反思合集(C++)
实战反思汇总记录 仔细审题,想好再写 L1-104 九宫格 - 团体程序设计天梯赛-练习集 易忽略的错误:开始习惯性地看到n就以为是n*n数组了,实际上应该是9*9的固定大小数组,查了半天没查出来 L1-101 别再来这么多猫娘了!…...
ubuntu下的node.js的安装
安装 node-v22.14.0-linux-x64.tar.xz 的步骤如下: 1. 下载和解压 如果尚未下载文件,可以通过 wget 下载(替换为实际下载链接): wget https://nodejs.org/dist/v22.14.0/node-v22.14.0-linux-x64.tar.xz解压文件&…...
VMware-workstation-full-12.5.2 install OS X 10.11.1(15B42).cdr
手把手虚拟机安装苹果操作系统 VMware_workstation_full_12.5.2 unlocker208 Apple Max OS X(M)-CSDN博客 vcpu-0:VERIFY vmcore/vmm/main/physMem_monitor.c:1180 FILE: FileCreateDirectoryRetry: Non-retriable error encountered (C:\ProgramData\VMware): Cann…...
Linux下创建svn库 和 svn安装与操作
1.介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。适合中小公司的开发人员不多的项目使用,相比git管理工具更简单. 2.安装svn 2.1 国际惯例 首先看…...
React-04React组件状态(state),构造器初始化state以及数据读取,添加点击事件并更改state状态值
1.React组件状态(state) 组件可以拥有状态(state),它是组件数据的私有部分,可以用来管理动态数据。状态仅适用于类组件,或者使用 React 的 Hook 时可以在函数组件中使用。 注意 组件中render方…...
第3课:MCP协议接口定义与开发实践
MCP协议接口开发实战:从标准化设计到跨语言SDK落地 一、引言:为什么接口标准化是多智能体协作的“刚需” 在多智能体系统中,不同语言开发的智能体、异构服务之间的通信效率往往受制于接口兼容性问题。MCP(Model Context Protoco…...
Perl语言的WebAssembly
Perl语言的WebAssembly:将古老的语言带入新世纪 引言 在编程语言发展的历史长河中,Perl作为一门早期广泛使用的脚本语言,以其灵活性和丰富的文本处理能力而闻名。然而,随着互联网和Web技术的迅猛发展,许多开发者开始…...
[ISP] ISP 中的 GTM 与 LTM:原理、算法与与 Gamma 校正的对比详解
在现代图像信号处理(ISP)流水线中,图像增强是提升视觉质量的核心手段之一。尤其是在高动态范围(HDR)内容、弱光环境或复杂光照条件下,Tone Mapping(色调映射)技术的引入成为关键。To…...
健身管理小程序|基于java微信开发健身管理小程序的系统设计与实现(源码+数据库+文档)
健身管理小程序目录 基于微信开发健身管理小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 小程序端: 后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码…...
批量将文本合并成单个文件,支持按文件夹合并文本文档
我们的文件夹中有零零碎碎的多个小的文本文件,这对我们存档记录是非常不方便,不友好的。如果我们能够将多个小的文本文件合并成一个完整的大的文本文件,那不管是在共享还是在存档起来都更加的方便。今天给大家介绍一下如何批量将多个文本文件…...
ROS云课三分钟-差动移动机器人巡逻报告如何撰写-中等报告
评语: 成绩中等(70/100),具体如下: 1. 摘要部分 问题描述: 内容空洞:摘要过于简短,仅简要概述了研究内容和实现方法,未突出研究的创新点或重要性。缺乏细节࿱…...
forms实现推箱子小游戏
说明: forms实现推箱子小游戏 效果图: step0:游戏规则 # 推箱子游戏规则说明## 🎯 游戏目标 - 通过控制角色移动,将所有**棕色箱子(3)**推到**红色目标点(4)**上 - 当所有箱子都变为**绿色(7)**时,即完成当前关卡 - 完成全部关…...
图的储存+图的遍历
图的存储 邻接矩阵 #include <iostream>#include <cstring>using namespace std;const int N 1010;int n, m;int edges[N][N];int main() {memset(edges, -1, sizeof edges);cin >> n >> m; // 读⼊结点个数以及边的个数 for(int i 1; i < m; i)…...
蓝桥杯—数字接龙(dfs+减枝)
一.题目 二.思路 一看就是迷宫问题的变种,从左上角到达右下角,要解决 1.8个方向的方向向量,用dx,dy数组代表方向向量 2.要按照一个规律的数值串进行搜索0,1,2,k-1,0,1…...
Solidity智能合约漏洞类型与解题思路指南
一、常见漏洞类型与通俗解释 1. 重入攻击(Reentrancy) 🌀 通俗解释:就像你去银行取钱,柜台人员先给你钱,然后再记账。你拿到钱后立即又要求取钱,由于账还没记,柜台又给你一次钱,这样循环下去你就能拿走银行所有的钱。 漏洞原理:合约在更新状态前调用外部合约,允许…...
临床 不等于 医学-《分析模式》漫谈52
DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的第4章“企业财务观察”有这么一句话: An important point about this model——a reflection of its clinical background 2004(机械…...
鸿蒙应用开发中的 Stack 布局模式
在鸿蒙(HarmonyOS)应用开发中,Stack 布局模式是一种非常灵活的布局方式,类似于其他开发框架中的 StackPanel 或 AbsoluteLayout。它允许子组件按照层级关系进行堆叠,后添加的组件会覆盖在先添加的组件之上。开发者可以通过设置组件的位置、大…...
仿modou库one thread one loop式并发服务器
源码:田某super/moduo 目录 SERVER模块: Buffer模块: Socket模块: Channel模块: Connection模块: Acceptor模块: TimerQueue模块: Poller模块: EventLoop模块&a…...
【AI学习】初步了解Gradio
Gradio 是一个开源的 Python 库,专注于快速构建交互式 Web 界面,特别适用于机器学习模型、数据科学项目或任意 Python 函数的演示与部署。它通过极简的代码实现前后端一体化,无需前端开发经验即可创建功能丰富的应用。以下是 Gradio 的核心特…...
C++11QT复习 (十四)
文章目录 Day9 数据结构学习笔记(2025.04.01)一、C基础快速回顾二、STL(标准模板库)三、常见容器及其对应的数据结构四、容器操作演示1. 基本容器使用2. 异构类型容器 五、迭代器详解特点示例用户自定义结构体访问成员 六、算法库…...
ThreadCache
目录 一、Freelist 二、ThreadCache 三、哈希桶映射规则 一、Freelist 在之前整体框架介绍的时候,我们曾说过ThreadCache是一个哈希桶的结构。每一个桶都要存同一个大小的对象块(即最小块的内存)。 那么我们使用FreeList来…...
c++中同步和异步,阻塞和非阻塞原理以及机制
在C中,同步与异步、阻塞与非阻塞是并发编程中的重要概念,它们描述了程序在执行任务时的行为模式。理解这些概念对于设计高效、响应良好的并发程序至关重要。下面我将详细介绍这些概念的原理和机制。 1. 同步与异步 同步(Synchronous&#x…...
Python项目打包指南:PyInstaller与SeleniumWire的兼容性挑战及解决方案
前言 前段时间做一个内网开发的需求,要求将selenium程序打包成.exe放在内网的win7上运行,在掘金搜了一圈也没有发现相关文章,因此将过程中踩到的坑记录分享一下。 本文涵盖了具体打包操作、不同模块和依赖项的兼容性解决方案,以…...
浅谈微信视频号推荐算法
这次可能会稍微有点干货,但保证不晦涩~ 一、算法推荐的本质:猜你喜欢 vs 社交绑架 视频号的推荐系统本质上在做两件事: 预测你的兴趣:通过你的浏览、点赞、评论、分享等行为,分析你的偏好。满足社交需求&…...
selenium 常用方法
selenium 库的常用方法: 方法说明示例代码webdriver.Chrome()初始化 Chrome 浏览器实例。driver webdriver.Chrome()driver.get(url)访问指定的 URL 地址。driver.get("https://example.com")driver.find_element(By, value)查找第一个匹配的元素。elem…...
springboot中使用async实现异步编程
目录 1.说明 2.实现原理 3.示例 4.总结 1.说明 Async 是 Spring 框架提供的一个注解,用于标记方法为异步执行。被标记的方法将在调用时立即返回,而实际的方法执行将在单独的线程中进行。 Async 注解有一个可选属性:指定要使用的特定线程…...
【2024年蓝桥杯Java B组】省赛真题详细解析
【2024年蓝桥杯Java B组】省赛真题 距离比赛仅剩5天,大多数省份可能完成3-4题即可拿到省奖,2025年想要拿到省奖,需要高效利用时间,重点突破关键知识点和题型。这里以【2024年蓝桥杯Java B组省赛真题】为例,梳理我们最后…...
SQL:DDL(数据定义语言)和DML(数据操作语言)
目录 什么是SQL? 1. DDL(Data Definition Language,数据定义语言) 2. DML(Data Manipulation Language,数据操作语言) DDL和DML的区别 什么是SQL? SQL(Structured …...
机器学习核心概念、算法分类与应用场景全解析
文章目录 一、基础任务与算法分类1. 分类任务(监督学习)2. 回归任务(监督学习)3. 聚类任务(无监督学习) 二、关键流程与技术细节1. 数据预处理2. 特征工程3. 数据集划分与评估 三、进阶技术1.深度学习2.强化…...
【leetcode】—416.分割等和子集
✏️ 关于专栏:专栏用于记录 LeetCode 中做题与总结 文章目录 分割等和子集▐ 题目描述▐ 题目示例▐ 题目提示▐ 思路&代码方法:动态规划 分割等和子集 ▐ 题目描述 题目链接:分割等和子集 给你一个 只包含正整数 的 非空 数组 nums …...
jemeter 之mysql驱动问题
问题 java.sql.SQLException: No suitable driver found for jdbc:mysql 解决 先把jar放到lib下 检查 JMeter 的 Classpath 在 JMeter 中,JDBC 驱动需要手动添加到 Classpath 中。 打开 JMeter 安装目录下的 bin/jmeter.properties 文件,找到 user.cla…...
隐私计算的崛起:数据安全的未来守护者
在信息技术(IT)的滚滚浪潮中,一种新兴技术正以惊人速度崭露头角——隐私计算(Privacy-Preserving Computation)。2025 年,随着数据泄露事件频发、全球隐私法规日益严格,以及企业对数据协作需求的…...
Excel计数、求和、统计、计算类函数
目录 一、计数函数1. COUNT2. COUNTA3. COUNTBLANK4. COUNTIF5. COUNTIFS 二、求和函数1. SUM2. SUMIF3. SUMIFS4. SUMPRODUCT 三、统计函数1. AVERAGE2. AVERAGEA3. AVERAGEIF 函数4. AVERAGEIFS 函数 四、其他常用计算函数1. MAX 与 MIN2. RANK3. MOD4. ROUND5. FLOOR6. INT7…...
解决 Kubernetes 中容器 `CrashLoopBackOff` 问题的实战经验
在 Kubernetes 集群中,容器状态为 CrashLoopBackOff 通常意味着容器启动失败,并且 Kubernetes 正在不断尝试重启它。这种状态表明容器内可能存在严重错误,如应用异常、依赖服务不可用、配置错误等。本文将分享一次实际排障过程,并…...
北师大具身AI的虚拟世界扩展!UNREALZOO:为具身智能打造高逼真度的虚拟世界
作者:Fangwei Zhong, Kui Wu, Churan Wang, Hao Chen, Hai Ci, Zhoujun Li, Yizhou Wang 单位:北京师范大学,北京航空航天大学,北京大学,BIGAI,澳门城市大学,新加坡国立大学 论文标题…...
2025 年浙江保安员职业资格考试高效备考指南
浙江以创新活力著称,保安行业也在不断革新。2025 年考试报考条件常规,报名主要通过浙江省保安服务监管信息系统,方便快捷。 理论考试在传统知识基础上,加大对智能安防技术应用的考查,如人脸识别系统、智能监控报警系…...
创意设计:动态彩色数学爱心
设计理念 数学之美:使用心形线的数学方程(心形曲线)生成爱心形状。视觉吸引力:通过 Python 的 colorama 库添加颜色渐变效果。动态感:加入简单的动画,让爱心“跳动”。技术魅力:结合模块化编程…...
C++动态内存管理完全指南:从基础到现代最佳实践
一、动态内存基础原理 1.1 内存分配层次结构 内存类型生命周期分配方式典型使用场景静态存储区程序整个运行期编译器分配全局变量、静态变量栈内存函数作用域自动分配/释放局部变量堆内存手动控制new/malloc分配动态数据结构 1.2 基本内存操作函数 // C风格 void* malloc(s…...
ebpf: CO-RE, BTF, and Libbpf(一)
本文内容主要来源于Learning eBPF,可阅读原文了解更全面的内容。 概述 一个ebpf程序可以在一个kernel版本中编译,而在另外一个kernel版本上运行,即便两个kernel版本中有些结构体有变化。而BTF(BPF Type Format) 是能让ebpf有这种强大兼容性…...
Linux 递归查找并删除目录下的文件
在 Linux 中,可以使用 find 命令递归查找并删除目录下的文件 1、示例命令 find /path/to/directory -type f -name "filename_pattern" -exec rm -f {} 2、参数说明 /path/to/directory:要查找的目标目录type f:表示查找文件&am…...
使用人工智能大模型腾讯元宝,如何快速编写活动记录?
今天我们学习使用人工智能大模型腾讯元宝,如何快速编写活动记录? 手把手学习视频地址https://edu.csdn.net/learn/40402/666457 第一步在腾讯元宝对话框中输入如何协助老师写教研活动记录,通过提问,我们了解了老师写教研活动记录…...
File 类的用法和 InputStream, OutputStream 的用法
1 文件系统的操作 创建文件,删除文件,创建目录,重命名文件,判定文件存在... Java中提供file类进行文件系统操作,使用路径进行初始化表示具体的文件(可以存在,也可以不存在)…...
buuctf--[湖南省赛2019]Findme
目录 前沿 解题过程 分析 p1 P2 p3 p4 p5 前沿 其实对于这道题呢,我的想法是不知道怎么判断的,这个题你说他难吧,他用的都是比较基础的东西,说他简单吧,他有太复杂的过程,总体来讲࿰…...
【从0到1学MybatisPlus】MybatisPlus入门
Mybatis-Plus 使用场景 大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。 因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国…...
【S32M244 RTD200P04 LLD篇8】S32M244 PWM ADC LLD demo
【S32M244 RTD200P04 LLD篇8】S32M244 PWM ADC LLD demo 一,文档简介二,PWMTRGMUXPDBADC 2ch 软件配置与实现2.1 软硬件版本平台2.2 Demo CT 模块配置2.2.1 引脚配置2.2.2 时钟配置2.2.3 外设配置 2.3主程序调用情况 三, 测试结果 一…...
(蓝桥杯)动态规划蓝桥杯竞赛指南:动态规划解决最少钞票数问题(超详细解析+代码实现)
问题描述 近期,黄开的银行新发行了一种面额为 4 的钞票,使得钞票种类增至 5 种:20、10、5、4 和 1 元。银行在发钞时十分“节俭”,当有客户取钱时,需要以最少的钞票数来满足取款金额。 问题要求: 对于给定…...