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

buctoj_算法设计与分析(5)

问题 A: 没有上司的舞会

题目描述

Ural大学有N名职员,编号为1~N。
他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。
每个职员有一个快乐指数,用整数 HiHi 给出,其中 1≤i≤N。
现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。
在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。

输入

第一行一个整数N。
接下来N行,第 i 行表示 i 号职员的快乐指数Hi。
接下来N-1行,每行输入一对整数L, K,表示K是L的直接上司。
最后一行输入0,0。

输出

输出最大的快乐指数。

样例输入 复制
7
1
1
1
1
1
1
1
1 3
2 3
6 4
7 4
4 5
3 5
0 0
样例输出 复制
5
提示

1≤N≤6000,

思路:经典的树形dp

对于每一个节点,都有两个选择,选与不选

f[i][0] : 表示第 i 个 节点不选 对应的最大值

f[i][1] : 表示第 i 个 节点选 对应的最大值

如果该父节点选,那么子节点一定不能选

如果不选, 那么子节点 可以选或者不选

则 

u 为父节点, j  为子节点

f[u][0] += max(f[j][0], f[j][1])

f[u][1] += f[j][0]

#include <bits/stdc++.h>using namespace std;const int N = 6005;
int h[N], ne[N], e[N], idx;
bool st[N];
int a[N], f[N][2];void add(int a, int b) {e[idx] = b, ne[idx] = h[a], h[a] = idx ++;
}void dfs(int u) {f[u][1] = a[u];for(int i = h[u]; i != -1; i = ne[i]) {int j = e[i];dfs(j);f[u][0] += max(f[j][1], f[j][0]);f[u][1] += f[j][0];}}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);memset(h, -1, sizeof h);int n;cin >> n;for(int i = 1; i <= n; ++ i) cin >> a[i];for(int i = 1; i < n; ++ i) {int a, b;cin >> a >> b;add(b, a);st[a] = true;}int root = 1;while(st[root]) ++ root;dfs(root);cout << max(f[root][0], f[root][1]) << "\n";return 0;
}

问题 B: Fibonacci

题目描述

斐波那契数列的性质为:
F0=0,F1=1,Fn=Fn−1+Fn−2。
同时,通过线性代数的学习,我们知道矩阵乘法的运算时符合结合律的。
因此,求Fn mod 104。

输入
多组数据,每组数据一行,一个整数n。
输入以-1结束。
输出

对于每组数据,输出Fn mod 104。

样例输入 复制
0
9
999999999
1000000000
-1
样例输出 复制
0
34
626
6875
提示

对于全部数据,0≤n≤10^9。

方法:矩阵快速幂 加速

[Fi, Fi + 1] *[ 0  ,    1    ] = [Fi + 1, F i + 2]

                   [ 1   ,   1   ]

利用矩阵的结合律,利用快速幂加速整个进程

#include <bits/stdc++.h>using namespace std;const int mod = 10000;vector<vector<int>> mul(vector<vector<int>> a, vector<vector<int>> b, int mod) {int n = a.size(), m = b[0].size(), p = b.size();vector<vector<int>> ans(n, vector<int> (m, 0));for(int i = 0; i < n; ++ i) {for(int j = 0; j < m; ++ j) {for(int k = 0; k < p; ++ k) ans[i][j] = (ans[i][j] + a[i][k] * b[k][j]) % mod;}}return ans;
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int n;while(cin >> n, n != -1) {if(n == 0) cout << 0 << "\n";else {vector<vector<int>> a = {{0, 1},{1, 1}};vector<vector<int>> f = {{1, 1}};-- n;while(n) {if(n & 1) f = mul(f, a, mod);a = mul(a, a, mod);n >>= 1;} cout << f[0][0] % mod << "\n";}}return 0;
}

问题 C: 超级楼梯

题目描述

有一个楼梯共M级台阶,刚开始你在第一级,若每次只能挂上1或2级,要走上M级,共有多少种走法?

输入

首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行一个M,表示楼梯级数

输出

对于每个实例 输出不同走法的数量

样例输入 复制
2
2
3
样例输出 复制
1
2
提示

1≤M≤40

 思路:

状态表示:

f[i] : 表示 走到 第 i 层楼梯 的方案数

状态方程转移:

f[i] += f[i - 1] + f[i - 2]

初始化:

f[1] = 1

#include <bits/stdc++.h>using namespace std;const int N = 50;
int f[N];int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int T;cin >> T;while(T --) {int n;cin >> n;memset(f, 0, sizeof f);//f[0] = 1;f[1] = 1;for(int i = 2; i <= n; ++ i) {f[i] += f[i - 1] + f[i - 2];}cout << f[n] << "\n";}return 0;
}

问题 D: 进阶7.4.3最长上升子序列

题目描述
A numeric sequence of ai is ordered if a1 < a2 < ... <aN. Let the subsequence of the given numeric sequence (a1,a2, ...,aN) be any sequence (ai1,ai2, ...,aiK), where 1 <=i1 < i2 < ... <iK <=N. For example, sequence (1, 7, 3, 5, 9, 4, 8) has ordered subsequences, e. g., (1, 7), (3, 4, 8) and many others. All longest ordered subsequences are of length 4, e. g., (1, 3, 5, 8).
Your program, when given the numeric sequence, must find the length of its longest ordered subsequence.
输入

The first line of input file contains the length of sequence N. The second line contains the elements of sequence - N integers in the range from 0 to 10000 each, separated by spaces. 1 <= N <= 1000

输出

Output file must contain a single integer - the length of the longest ordered subsequence of the given sequence.

样例输入 复制
7
1 7 3 5 9 4 8
样例输出 复制
4

 思路:

f[i] : 表示 以第 i 个元素 结尾的上升子序列的长度

f[i] = 1; 

for(int j = 1; j < i; ++ j)  {

if(a[i] > a[j]) f[i] = max(f[i], f[j] + 1);

}

#include <bits/stdc++.h>using namespace std;const int N = 1005;
int f[N];
int a[N];int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int n;cin >> n;for(int i = 1; i <= n; ++ i) cin >> a[i];int ans = 1;for(int i = 1; i <= n; ++ i) {f[i] = 1;for(int j = 1; j < i; ++ j) {if(a[i] > a[j]) f[i] = max(f[i], f[j] + 1);}ans = max(ans, f[i]);}cout << ans << "\n";return 0;
}

 

 

问题 E: 进阶7.2.1 骨头收藏家

题目描述

有位骨头收藏家喜欢收集各种各样的骨头,不同的骨头有不同的体积和价值。这个收藏家有一个体积为V的背包,请计算他可以收藏的最大价值。

输入

第1行包含一个整数T,表示测试用例的数量。每个测试用例都包含3行,第1行包含两个整数N、V(N<=1000,V<=1000),分别表示骨头的数量和背包的体积;第2行包含N个整数,表示每个骨头的价值;第3行包含N个整数,表示每个骨头的体积。

输出

对每个测试用例,都单行输出可以得到的最大价值(该数小于231)。

样例输入 复制
1
5 10
1 2 3 4 5 
5 4 3 2 1 
样例输出 复制
14

 思路:

经典的背包问题, 体积最大为 v 的背包所能携带的最大的价值

f[i] : 表示为 体积最大为 i 时的对应的最大价值

for(int j = v; j >= w[i]; -- j)

  f[j] = max(f[j], f[j - w[i]] + v[i]) 

#include <bits/stdc++.h>using namespace std;const int N = 1005;
int v[N], w[N];
int f[N];int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int T;cin >> T;while(T --) {int n, m;cin >> n >> m;for(int i = 1; i <= n; ++ i) cin >> v[i];for(int i = 1; i <= n; ++ i) cin >> w[i];for(int i = 1; i <= n; ++ i) {for(int j = m; j >= w[i]; -- j) f[j] = max(f[j], f[j - w[i]] + v[i]);}cout << f[m] << "\n"; }return 0;
}

问题 F: 到处都是0

题目描述

求1到N(包括1和N)之间的整数的数目,
这些整数恰好包含K个非0数字

输入

N
K
1 <= N <= 10100
1 <= K <= 3

输出

输出一行结果

样例输入 复制
100
1
样例输出 复制
19
提示
  • 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100

样例2
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
3

输出
117879300

 思路:

经典的数位dp问题

注意此题的细节, N 的值过大,需要用字符串输入!!!

f[i][j] : 表示从 i 个位置 中选择 j 个的可能数

#include <bits/stdc++.h>using namespace std;typedef long long ll;
const int N = 105;
ll f[N][N];void init() {for(int i = 0; i < N; ++ i) f[i][0] = 1;for(int i = 1; i < N; ++ i) {for(int j = 1; j <= i; ++ j) {f[i][j] = f[i - 1][j] + f[i - 1][j - 1];		}}}int dp(string s, int k) {int n = s.size();ll ans = 0;int last = 0;for(int i = 0; i < n; ++ i) {int x = s[i] - '0';if(x) ans += (ll) f[n - i - 1][k - last] * pow(9, k - last);if(last <= k - 1) {for(int j = 1; j < x; ++ j) {ans += (ll) f[n - i - 1][k - last - 1] * pow(9, k - last - 1);}}if(x) ++ last;if(last > k) break;if(i == n - 1 && k == last) ++ ans;}return ans;
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);string s;int k;cin >> s >> k;init();cout << dp(s, k) << "\n";return 0;
}

 

问题 G: 吉吉想玩游戏

题目描述

吉吉想购买一个游戏机。
有N家商店出售她想要的游戏机:商店1、2、...、N。商店i距离吉吉现在的位置有Ai分钟的步行路程,售价为Pi元,当前库存中有Xi台游戏机。
现在,吉吉打算步行去其中一家商店购买游戏机,前提是当他到达商店时商品还有库存。
然而,这种游戏机非常受欢迎,因此每家商店的库存数量(如果有)将在以下时间点减少1台:0.5、1.5、2.5分钟后。
确定吉吉是否能买到游戏机。如果可以,找出购买一台所需的最低金额。
快帮助吉吉低价购入一台游戏机吧!

输入

所有输入都是数字

1≤N≤105
1≤Ai,Pi,Xi≤109

输出

如果吉吉能买到游戏机,以整数形式打印购买一台所需的最低金额。
如果她无法购买,则打印-1。

样例输入 复制
3
3 9 5
4 8 5
5 7 5
样例输出 复制
8

思路:

分析完题意后,可知 

只有当路程时间小于库存数量,才能获得这个物品 

#include <bits/stdc++.h>using namespace std;typedef long long ll;
const int N = 100005;
int a[N], b[N], c[N];int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int n;cin >> n;for(int i = 1; i <= n; ++ i) cin >> a[i] >> b[i] >> c[i];int ans = 1e9 + 1;for(int i = 1; i <= n; ++ i) {if(a[i] < c[i]) {ans = min(ans, b[i]);}}if(ans == 1e9 + 1) cout << -1 << "\n";else cout << ans << "\n";return 0;
}

 

相关文章:

buctoj_算法设计与分析(5)

问题 A: 没有上司的舞会 题目描述 Ural大学有N名职员&#xff0c;编号为1~N。 他们的关系就像一棵以校长为根的树&#xff0c;父节点就是子节点的直接上司。 每个职员有一个快乐指数&#xff0c;用整数 HiHi 给出&#xff0c;其中 1≤i≤N。 现在要召开一场周年庆宴会&#x…...

VUE项目中的package.json中的启动脚本

"scripts": {"dev": "vite","build:prod": "vite build","build:stage": "vite build --mode staging","preview": "vite preview"}vite build 和 vite build --mode staging 是 V…...

目标追踪数据标注

在将 YOLO&#xff08;目标检测&#xff09; 和 DeepSORT&#xff08;目标追踪&#xff09; 结合时&#xff0c;数据标注需要同时满足 检测 和 追踪 的需求。以下是具体的分阶段标注策略和操作指南&#xff1a; 一、标注的核心要求 检测标注&#xff1a;每帧中目标的 边界框&a…...

详细介绍7大排序算法

1.排序的概念及其运用 1.1 排序的概念 排序 &#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性 &#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记…...

TGCTF web

AAA偷渡阴平 这个题是一个非预期的无参RCE <?php$tgctf2025$_GET[tgctf2025];if(!preg_match("/0|1|[3-9]|\~|\|\|\#|\\$|\%|\^|\&|\*|\&#xff08;|\&#xff09;|\-|\|\|\{|\[|\]|\}|\:|\|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $tgctf2025)){//hi…...

RTPS数据包分析

DDS-RTPS 常见子消息_dds pdp消息-CSDN博客Fast RTPS原理与代码分析(3)&#xff1a;动态发现协议之端点发现协议EDP_fast-rtps 原理-CSDN博客 在RTPS&#xff08;Real-Time Publish-Subscribe&#xff0c;实时发布订阅&#xff09;协议中&#xff0c;DATA(r)和DATA是两种不同的…...

go语言gRPC使用流程

1. 安装工具和依赖 安装 Protocol Buffers 编译器 (protoc) 下载地址&#xff1a;https://github.com/protocolbuffers/protobuf/releases 使用说明&#xff1a;https://protobuf.dev/ 【centos环境】yum方式安装&#xff1a;protoc[rootlocalhost demo-first]# yum install …...

回溯算法的要点

可以用树结构&#xff08;解空间树&#xff09;来表示用回溯法解决的问题的所有选项。 叶节点则对应着最终的状态. 回溯过程&#xff1a;深度遍历&#xff0c;在任意时刻&#xff0c;算法只保存从根结点到当前结点的路径。 “剪枝”&#xff1a;当某一节点不包含问题的解&am…...

爬虫: 一文掌握 pycurl 的详细使用(更接近底层,性能更高)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、PycURL概述1.1 PycURL介绍1.2 基本安装1.3 安装依赖(Linux/macOS)1.4 常用选项参考二、基本使用2.1 简单 GET 请求2.2 获取响应信息2.3 设置请求头2.4 超时设置2.5 跟随重定向三、高级功能3.1 POST 请求3.2 文件上…...

大模型文生图

提示词分4个部分&#xff1a;质量&#xff0c;主体&#xff0c;元素&#xff0c;风格 质量&#xff1a;杰作&#xff0c;高质量&#xff0c;超细节&#xff0c;完美的精度&#xff0c;高分辨率&#xff0c;大师级的&#xff1b; 权重&#xff1a;把图片加括号&#xff0c;&am…...

c# AI编程助手 — Fitten Code

前言 前有Copilot各种酷炫操作&#xff0c;今有国产软件杀出重围。给大家介绍的是一款国内的国产编程神器&#xff0c;可与微软GitHub Copilot比比身手。关键它还是完全免费。它就是&#xff1a;非十团队国产自主研发的Fitten Code。此工具的速度是GitHub Copilot的两倍&#x…...

《植物大战僵尸融合版v2.4.1》,塔防与创新融合的完美碰撞

《植物大战僵尸融合版》是基于经典塔防游戏《植物大战僵尸》的创意同人改版&#xff0c;由“蓝飘飘fly”等开发者主导制作。它在保留原版核心玩法的基础上&#xff0c;引入了独特的植物融合机制&#xff0c;玩家可以将不同的植物进行组合&#xff0c;创造出全新的植物种类&…...

深度学习总结(12)

层:深度学习的基础模块 神经网络的基本数据结构是层。层是一个数据处理模块&#xff0c;它接收一个或多个张量作为输入&#xff0c;并输出一个或多个张量。有些层是无状态的&#xff0c;但大多数层具有状态&#xff0c;即层的权重。权重是利用随机梯度下降学到的一个或多个张量…...

pyqt环境配置

文章目录 1 概述2 PyQt6和PySide6区别3 环境配置4 配置PySide65 配置PyQt66 配置外部工具7 添加模板8 使用pyside6-project构建工程9 常见错误10 相关地址 更多精彩内容&#x1f449;内容导航 &#x1f448;&#x1f449;Qt开发 &#x1f448;&#x1f449;python开发 &#x1…...

YOLO11改进——融合BAM注意力机制增强图像分类与目标检测能力

深度学习在计算机视觉领域的应用取得了显著进展&#xff0c;尤其是在目标检测&#xff08;Object Detection&#xff09;和图像分类&#xff08;Image Classification&#xff09;任务中。YOLO&#xff08;You Only Look Once&#xff09;系列算法凭借其高效的单阶段检测框架和…...

考研单词笔记 2025.04.14

amount n数量&#xff0c;数额v&#xff08;数量&#xff09;达到&#xff0c;总计&#xff08;to&#xff09;&#xff0c;意味着&#xff0c;相当于 couple n一对&#xff0c;一双&#xff0c;一些&#xff0c;几个&#xff0c;夫妻&#xff0c;情侣v连接&#xff0c;结合 …...

AI云游戏盒子:未来娱乐的新纪元

AI云游戏盒子&#xff1a;未来娱乐的新纪元 随着科技的不断进步&#xff0c;人工智能&#xff08;AI&#xff09;与云计算技术的结合正在重新定义我们享受数字娱乐的方式。2025年&#xff0c;一款名为“AI云游戏盒子”的产品正逐渐成为家庭娱乐的核心设备&#xff0c;它不仅集…...

第八章 文件操作

第八章 文件操作 文章目录 第八章 文件操作1 文件读取1 将文件整个读取内存2 按字节读取文件 1 文件读取 1 将文件整个读取内存 类似于python的 with open(filename, modert, encodingutf-8) as f:res f.read()go中的书写方式&#xff1a; 方式一&#xff1a; package ma…...

《extern:如何在编译时“暗通款曲“》

C中extern关键字的完整用法总结 extern是C中管理链接性&#xff08;linkage&#xff09;的重要关键字&#xff0c;主要用于声明外部定义的变量或函数。以下是详细的用法分类和完整示例&#xff1a; 一、基本用法 1. 声明外部全局变量 // globals.cpp int g_globalVar 42; …...

活动图与流程图的区别与联系:深入理解两种建模工具

目录 前言1. 活动图概述1.1 活动图的定义1.2 活动图的基本构成要素1.3 活动图的应用场景 2. 流程图概述2.1 流程图的定义2.2 流程图的基本构成要素2.3 流程图的应用场景 3. 活动图与流程图的联系4. 活动图与流程图的区别4.1 所属体系不同4.2 表达能力差异4.3 使用目的与语境4.4…...

FinanceRAG获奖方案解读:ACM-ICAIF ’24的FinanceRAG挑战赛

ACM-ICAIF 24 FinanceRAG Challenge提供一套整合的文本和表格财务数据集。这些数据集旨在测试系统检索和推理财务数据的能力。参与者将受益于 Github 上的基线示例和官方提交代码&#xff0c;其位于FinanceRAG&#xff0c;以及在 huggingface 上的简化的数据集访问&#xff0c;…...

Linux LED驱动(gpio子系统)

0. gpio子系统 gpio子系统是linux内核当中用于管理GPIO资源的一套系统&#xff0c;它提供了很多GPIO相关的API接口&#xff0c;驱动程序中使用GPIO之前需要向gpio子系统申请。 gpio子系统的主要目的就是方便驱动开发者使用gpio&#xff0c;驱动开发者在设备树中添加gpio相关信息…...

场外期权交易和结算方式的区别是什么?

场外期权交易的核心在于双方协商一致的合约条款。这些条款包括但不限于期权的类型&#xff08;看涨或看跌&#xff09;、执行价格、到期日、合约规模以及支付的期权费。由于每份合约都是独一无二的&#xff0c;因此交易双方需要具备高度的专业知识和谈判技巧&#xff0c;下文为…...

自注意力的机制内涵和设计逻辑

在自注意力机制中&#xff0c;查询&#xff08;Q&#xff09;、键&#xff08;K&#xff09;和值&#xff08;V&#xff09;的交互过程是核心设计&#xff0c;其背后的数学和语义内涵可以从以下角度理解&#xff1a; 1. 数学视角&#xff1a;动态加权聚合 自注意力机制的公式可…...

VIM学习笔记

1. ex模式 vim中&#xff0c;按&#xff1a;触发的命令行模式&#xff0c;称为 ex模式&#xff0c;具体命令参见如下笔记&#xff1a; https://blog.csdn.net/u010250151/article/details/51868751?ops_request_misc%257B%2522request%255Fid%2522%253A%2522814b671a9898c95…...

Windows系统docker desktop安装(学习记录)

目前在学习docker&#xff0c;在网上扒了很多老师的教程&#xff0c;终于装好了&#xff0c;于是决定再装一遍做个记录&#xff0c;省的以后再这么麻烦 一&#xff1a;什么是docker Docker 是一个开源的应用容器引擎&#xff0c;它可以让开发者打包他们的应用以及依赖包到一个…...

操作系统学习笔记——[特殊字符]超详细 | 如何唤醒被阻塞的 socket 线程?线程阻塞原理、线程池、fork/vfork彻底讲明白!

&#x1f4a1;超详细 | 如何唤醒被阻塞的 socket 线程&#xff1f;线程阻塞原理、线程池、fork/vfork彻底讲明白&#xff01; 一、什么是阻塞&#xff1f;为什么线程会阻塞&#xff1f;二、socket线程被阻塞的典型场景&#x1f9e0; 解法思路&#xff1a; 三、线程的几种阻塞状…...

GIC驱动程序对中断的处理流程

承接上一篇&#xff0c;我们来讲讲GIC的处理流程&#xff1a; 我们先来看看老版本的CPU是怎么去处理中断的&#xff1a; 这种的话&#xff0c;基本上就是一开始就确定你有多少个中断&#xff0c;就为你分配好了多少个irq_desc&#xff0c;这样子每一个硬件中断&#xff0c;也就…...

罗庚机器人:机器人打磨领域的先行者

近日&#xff0c;记者在广东罗庚机器人有限公司&#xff08;以下简称罗庚机器人&#xff09;总经理蒲小平处了解到&#xff0c;该公司是一家研发与为客户提供高精度自适应机器人打磨抛光集成工艺的高科技企业&#xff0c;是机器人打磨领域的先行者。在国内外机器人打磨抛光应用…...

如何在 Java 中对 PDF 文件进行数字签名(教程)

Java 本身并不原生支持 PDF 文件&#xff0c;因此若要对 PDF 进行数字签名&#xff0c;您需要使用一些专用的软件。本教程将演示如何使用 JPedal PDF 库来对 PDF 文件进行数字签名。 步骤&#xff1a; • 下载 JPedal 并将 Jar 文件添加到项目中 • 创建一个 PKCS#12 密…...

一文了解:北斗短报文终端是什么,有哪些应用场景?

在通信技术飞速发展的今天&#xff0c;人们已习惯于依赖地面基站和互联网实现即时通信。然而&#xff0c;当自然灾害突发、远洋航行遇险或深入无人区勘探时&#xff0c;传统通信手段往往失效。北斗短报文终端——这一由中国自主研发的卫星通信技术&#xff0c;正以“无网络通信…...

【KWDB创作者计划】_KWDB应用之实战案例

【KWDB 2025 创作者计划】_KWDB应用之实战案例 本文是在完成KWDB数据库安装的情况下的操作篇&#xff0c;关于KWDB的介绍与安装部署&#xff0c;可以查看上一篇博客: https://blog.itpub.net/70045384/viewspace-3081187/ https://blog.csdn.net/m0_38139250/article/details/…...

JavaScript中的运算符与语句:深入理解编程的基础构建块

# JavaScript中的运算符与语句&#xff1a;深入理解编程的基础构建块 在JavaScript编程的世界里&#xff0c;运算符和语句就像是构建大厦的基石&#xff0c;它们是编写高效、灵活代码的基础。今天&#xff0c;我们就来深入了解一下这些重要的元素。 ## 一、运算符&#xff1a;…...

MySQL——学习InnoDB(1)

MySQL——学习InnoDB&#xff08;1&#xff09; 文章目录 MySQL——学习InnoDB&#xff08;1&#xff09;1. InnoDB的前世今生1.1 诞生发展1.2 核心设计1.3 关键进化 2. InnoDB和MyISAM在性能和安全上的区别2.1 性能对比2.2 安全对比 3. InnoDB架构图&#xff08;内存结构磁盘结…...

QT中多线程写法

转自个人博客&#xff1a;QT中多线程写法 1. QThread及moveToThread() 使用情况&#xff1a; 多使用于需要将有着复杂逻辑或需要一直占用并运行的类放入子线程中执行的情况&#xff0c;moveToThread是将整个类的对象移入子线程。 优缺点&#xff1a; 优点&#xff1a;更符合…...

css 二维码始终显示在按钮的正下方,并且根据不同的屏幕分辨率自动调整位置

一、需求 “求职入口” 下面的浮窗位置在其正下方&#xff0c;并且浏览器分辨的改变&#xff08;拖动浏览器&#xff09;&#xff0c;位置依旧在最下方 二、实现 <div class"btn_box"><div class"btn_link id"js-apply">求职入口<di…...

STM32 认识STM32

目录 什么是嵌入式&#xff1f; 认识STM32单片机 开发环境安装 安装开发环境 开发板资源介绍 单片机开发模式 创建工程的方式 烧录STM32程序 什么是嵌入式&#xff1f; 1.智能手环项目 主要功能有&#xff1a; 彩色触摸屏 显示时间 健康信息&#xff1a;心率&#…...

关于 CSDN的C知道功能模块 的详细解析,包括 新增的AI搜索(可选深度思考) 和 智能体功能 的具体说明及对比分析

以下是关于 CSDN的C知道功能模块 的详细解析&#xff0c;包括 新增的AI搜索&#xff08;可选深度思考&#xff09; 和 智能体功能 的具体说明及对比分析&#xff1a; 一、C知道核心功能模块详解&#xff08;基础功能&#xff09; &#xff08;参考前文内容&#xff0c;此处略…...

Vue--组件练习案例

图片轮播案例&#xff1a; <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Title</title></head><body><!--轮播图片--><div id"app"><h1>轮播图</h1…...

Sentinel源码—1.使用演示和简介一

大纲 1.Sentinel流量治理框架简介 2.Sentinel源码编译及Demo演示 3.Dashboard功能介绍 4.流控规则使用演示 5.熔断规则使用演示 6.热点规则使用演示 7.授权规则使用演示 8.系统规则使用演示 9.集群流控使用演示 1.Sentinel流量治理框架简介 (1)与Sentinel相关的问题 …...

空间信息可视化——WebGIS前端实例(二)

技术栈&#xff1a;原生HTML 源代码&#xff1a;CUGLin/WebGIS: This is a project of Spatial information visualization 5 水质情况实时监测预警系统 5.1 系统设计思想 水安全是涉及国家长治久安的大事。多年来&#xff0c;为相应国家战略&#xff0c;诸多地理信息领域的…...

高并发内存池(前言介绍)

高并发内存池项目介绍 1.项目介绍2.项目的知识储备要求3.了解池化技术及内存池4.本次项目中内存池解决的问题5.malloc 1.项目介绍 此项目是实现一个高并发的内存池&#xff0c;它的原型是google的一个开源项目tcmalloc&#xff0c;tcmalloc全程Thread-Caching Malloc&#xff…...

误译、值对象和DDD伪创新-《分析模式》漫谈56

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的第14章“类型模型设计模板模式”原文&#xff1a; Examples of such object types are the classic built-in data types of programming environments: inte…...

Java单例模式:实现全局唯一对象的艺术

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 一、什么是单例模式&#xff1f; 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;确保一个类只有一个实例&#xff0c…...

机器学习项目二:帕金森病检测

目录 下载数据 一、导入相关包 二、数据加载 三、特征工程 四、构建模型 五、评估与可视化 六、程序流程 七、完整代码 一、导入相关包 # 导入库部分 import numpy as np # 数值计算基础库 import pandas as pd # 数据处理库 from sklearn.preprocessing import MinMaxS…...

FreeDogs:AI、区块链与迷因文化的深度融合

引言 在 Web3 时代&#xff0c;人工智能&#xff08;AI&#xff09;、区块链技术和迷因文化的结合催生了一种全新的去中心化生态系统。FreeDogs 项目作为这一领域的创新代表&#xff0c;通过独特的技术与文化融合模式迅速受到关注。它利用 AI 驱动的智能营销网络推动迷因文化的…...

《组合优于继承:构建高内聚低耦合模块的最佳实践》

《组合优于继承:构建高内聚低耦合模块的最佳实践》 一、引言:编程范式中的选择 在软件设计中,继承和组合是两个重要的设计模式。继承(Inheritance)常被用来实现代码复用,但滥用继承容易导致脆弱的类层次结构,增加耦合度和维护成本。而组合(Composition)通过将功能分解…...

机器学习02——RNN

一、RNN的基本概念 定义 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一种用于处理序列数据的神经网络架构。它与传统的前馈神经网络&#xff08;如多层感知机&#xff09;不同&#xff0c;RNN具有“记忆”功能&#xff0c;能够利用前一时…...

Java基础——面试自我总结

1、String类中常用方法和equals区别 答&#xff1a;对于和equals这两个都是用来比较判断是否相等&#xff0c;其中用来判断两个变量的值是否相等&#xff0c;变量的值的类型分为基本数据类型和引用数据类型。对于&#xff0c;基本数据类型是直接进行值比较&#xff0c;而对于引…...

低功耗设计:Level Shift的种类(以SAED EDK 32/28nm工艺库为例)

在多电压设计中&#xff0c;当信号从一个电压域跨越到另一个电压域时&#xff0c;需要使用电压转换器(Level Shift)。它的工作方式类似于缓冲器&#xff0c;但其输入和输出使用不同的电压&#xff0c;作用是将一个逻辑信号从一个电压转换为另一个电压&#xff0c;并在输入到输出…...