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

算法思想之深度优先搜索(DFS)、递归以及案例(最多能得到多少克黄金、精准核酸检测、最富裕的小家庭)

深度优先搜索(DFS)、递归

  • 深度优先搜索(Depth First Search,DFS)是一种用于遍历或搜索树或图的算法。在 DFS 算法中,从起始节点开始,沿着一条路径尽可能深地访问节点,直到到达叶子节点或者无法继续前进为止。然后退回到最近的一个有未探索节点的分支节点,继续探索其他路径,直到所有节点都被访问过为止。

  • 深度优先搜索常常用于解决以下类型的问题:

    • 图遍历:在无向图或有向图中寻找特定节点之间的路径、判断图的连通性等。
    • 连通性问题:判断图中是否存在环、判断图的强连通分量等。
    • 组合问题:生成排列、组合或子集等组合型问题。
    • 寻路问题:求解从起始点到目标点的最短路径或所有可行路径。
    • 递归问题:通过递归实现深度优先搜索,例如二叉树的遍历等。

    深度优先搜索是一种简单而强大的算法,可以解决许多实际问题。


小华最多能得到多少克黄金

  • 题目描述

    小华按照地图去寻宝,地图上被划分成 m 行和 n 列的方格,横纵坐标范围分别是 [0, n-1] 和 [0, m-1]。

    在横坐标和纵坐标的数位之和不大于 k 的方格中存在黄金(每个方格中仅存在一克黄金),但横坐标和纵坐标之和大于 k 的方格存在危险不可进入。小华从入口 (0,0) 进入,任何时候只能向左,右,上,下四个方向移动一格。

    请问小华最多能获得多少克黄金?

    输入要求

    坐标取值范围如下:

    • 0 ≤ m ≤ 50
    • 0 ≤ n ≤ 50

    k 的取值范围如下:

    • 0 ≤ k ≤ 100

    输入中包含3个字数,分别是m, n, k

    输出要求

    输出小华最多能获得多少克黄金

  • 用例1

    输入:
    40 40 18
    输出:1484
    

    用例2

    输入:
    5 4 7
    输出:20
    
  • 题解

    数位之和是指一个数的各个位上数字的和。

    • 例如,对于数字1234,它的各个位上的数字分别是1、2、3和4,那么它的数位之和就等于1+2+3+4=10。

      同样地,对于数字56789,它的数位之和就等于5+6+7+8+9=35。

    • 在题目中,提到横纵坐标的数位之和不大于k,意味着将横坐标和纵坐标的每个位上的数字相加,得到的和要小于或等于k。

    这道题可以使用深度优先搜索(DFS)算法来解决。

    1. 首先,可以定义一个函数 dfs 来进行深度优先搜索。这个函数可以接受当前位置的坐标 (x, y)、当前黄金数量 gold 和已经访问过的方格集合 visited 作为参数。
    2. 在 dfs 函数中,首先判断当前位置是否越界或者已经访问过,如果是则直接返回。然后判断当前位置的横纵坐标的数位之和是否大于 k,如果是则说明是危险方格,也直接返回。否则,将当前位置标记为已访问,并将当前位置的黄金数量加上当前方格的黄金数量。
    3. 接下来,递归地调用 dfs 函数来搜索当前位置的上、下、左、右四个方向的相邻方格。对于每个相邻方格,传入更新后的坐标和黄金数量,并将得到的结果取最大值。
    4. 最后,在主函数中,从入口位置 (0, 0) 开始调用 dfs 函数,并输出返回的最大黄金数量。
    import java.util.*;
    public class Main {static int m, n, k;static int[] xArr = {-1, 1, 0, 0}, yArr = {0, 0, 1, -1};public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {m = sc.nextInt(); n = sc.nextInt(); k = sc.nextInt();System.out.println(move(0, 0, 0, new HashSet<>()));}}public static int move(int x, int y, int ret, Set<String> visited) {if (x < 0 || x > n - 1 || y < 0 || y > m -1 || visited.contains(x + "," + y)|| calculate(x) + calculate(y) > k)return ret;ret++;visited.add(x + "," + y);for (int i = 0; i < 4; i++)ret = Math.max(ret, move(x + xArr[i], y + yArr[i], ret, visited));return ret;}public static int calculate(int n) {int ret = 0;while (n % 10 > 0) {ret += n % 10;n /= 10;}return ret;}
    }
    

精准核酸检测

  • 题目描述

    为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群。

    现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹交叉。

    现在给定一组确诊人员编号(X1, X2, X3,…, Xn),在所有人当中,找出哪些人需要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测)

    需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。

    例如:A 是确诊病例,A 和 B 有接触、B 和 C 有接触、C 和 D 有接触、D 和 E 有接触,那么 B、C、D、E 都是需要进行核酸检测的人。

    输入要求

    第一行为总人数 N

    第二行为确认病例人员编号(确诊病例人员数量 < N),用逗号分割

    第三行开始,为一个 N * N 的矩阵,表示每个人员之间是否有接触,0 表示没有接触,1 表示有接触。

    输出要求

    整数:需要做核酸检测的人数

    特别说明

    • 人员编号从 0 开始
    • 0 < N < 100
  • 用例1

    输入:
    5
    1,2
    1,1,0,1,0
    1,1,0,0,0
    0,0,1,0,1
    1,0,0,1,0
    0,0,1,0,1
    输出:3
    说明:
    编号为1、2号的人员,为确诊病例。
    1号与0号有接触,0号与3号有接触
    2号与4号有接触
    故0、3、4号共3人需要核酸检测
    
  • 题解

    import java.util.*;
    public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {int n = Integer.parseInt(sc.nextLine());int[] arr = Arrays.stream(sc.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();int[][] arrs = new int[n][n];for (int i = 0; i < n; i++)arrs[i] = Arrays.stream(sc.nextLine().split(",")).mapToInt(Integer::parseInt).toArray();HashSet<Integer> set = new HashSet<>(); // 存储确诊和需要检测的人for (int i : arr) {set.add(i);reDo(i, arrs, set);}System.out.println(set.size() - arr.length); // 减去确诊人数}}public static void reDo(int i, int[][] arrs, HashSet<Integer> set) {for (int j = 0; j < arrs[i].length; j++) {if (arrs[i][j] == 1 && !set.contains(j)){ // 递归终止条件set.add(j);reDo(j, arrs, set);}}}
    }
    

最富裕的小家庭

  • 题目描述

    在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为一个小家庭。

    现给你一颗树,请计算出最富裕的小家庭的财富和。

    输入要求

    第一行为一个数 N,表示成员总数,成员编号 1~N。1 ≤ N ≤ 1000

    第二行为 N 个空格分隔的数,表示编号 1~N 的成员的财富值。0 ≤ 财富值 ≤ 1000000

    接下来 N -1 行,每行两个空格分隔的整数(N1, N2),表示 N1 是 N2 的父节点。

    输出要求

    最富裕的小家庭的财富和

  • 用例1

    输入:
    4
    100 200 300 500
    1 2
    1 3
    2 4
    输出:700
    说明:成员1,2,3 组成的小家庭财富值为600,成员2,4 组成的小家庭财富值为700
    

    用例2

    输入:
    4
    100 200 300 500
    1 2
    1 3
    1 4
    输出:1100
    说明:成员1,2,3 组成的小家庭财富值为600,成员2,4 组成的小家庭财富值为700
    
  • 题解

    import java.util.*;
    public class Main {-lpublic static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {int n = sc.nextInt();int[] arr = new int[n + 1]; // 数组索引从0开始,成员编号从1开始,故n个成员需要n+1大小数组for (int i = 0; i < n; i++) // 成员编号从1开始,以成员编号作为数组索引arr[i + 1] = sc.nextInt();List<List<Integer>> list = new ArrayList<>();for (int i = 0; i <= n; i++) // 集合add从索引0开始,从索引1开始与成员编号对齐list.add(new ArrayList<>());for (int i = 0; i < n - 1; i++)list.get(sc.nextInt()).add(sc.nextInt());int max = 0;for (int i = 1; i <= n; i++) {int sum = arr[i];for (Integer sun : list.get(i)) // 遍历该成员编号的所有直接连接的子节点sum += arr[sun];max = Math.max(max, sum);}System.out.println(max);}}
    }
    

相关文章:

算法思想之深度优先搜索(DFS)、递归以及案例(最多能得到多少克黄金、精准核酸检测、最富裕的小家庭)

深度优先搜索&#xff08;DFS&#xff09;、递归 深度优先搜索&#xff08;Depth First Search&#xff0c;DFS&#xff09;是一种用于遍历或搜索树或图的算法。在 DFS 算法中&#xff0c;从起始节点开始&#xff0c;沿着一条路径尽可能深地访问节点&#xff0c;直到到达叶子节…...

Windows玩游戏的时候,一按字符键就显示桌面

最近打赛伯朋克 2077 的时候&#xff0c;不小心按错键了&#xff0c;导致一按字符键就显示桌面。如下&#xff1a; 一开始我以为是输入法的问题&#xff08;相信打游戏的人都知道输入法和奔跑键冲突的时候有多烦&#xff09;&#xff0c;但是后来解决半天发现并不是。在网上搜…...

2025 后端自学UNIAPP【项目实战:旅游项目】1、创建项目框架

1、创建项目 ①项目名称&#xff1a;自定义&#xff0c;【我是travel】 ②vue版本&#xff1a;vue3 ③其他默认&#xff0c;最后创建 2、创建页面 ①展开自己刚才创建的项目 ②单击选中pages文件夹 --->鼠标右键---->新建页面 ③页面名称&#xff1a;自定义favouri…...

Tomcat中Web应用程序停止时为了防止内存泄漏,JDBC驱动程序被强制取消注册出现原因

1.问题描述 本地Windows环境开发的Springboot项目同样的mysql版本&#xff0c;jdk版本&#xff0c;tomcat版本&#xff0c;本地运行没有任何问题&#xff0c;发布到阿里云服务器上时报以下问题&#xff1a; 06-May-2025 20:06:12.842 警告 [main] org.apache.catalina.loader…...

vitepress 复杂环境引入 mermaid

方式一&#xff1a; 参考官网&#xff0c;这里不赘述 。 方式二&#xff1a; pnpm add -D vitepress-plugin-mermaid pnpm add -D mermaidimport { MermaidMarkdown, MermaidPlugin } from vitepress-plugin-mermaid;export default defineConfig({markdown: {config(md) {md…...

盘古信息领德创|半导体存储与云计算存储小巨人企业IMS数字化升级项目正式启动!

在数字化和智能化浪潮下&#xff0c;数据已然成为企业核心资产。随着大模型应用加速落地和智算新基建推进&#xff0c;数据量呈爆炸式增长&#xff0c;存储作为数据基础设施的关键环节&#xff0c;正从传统的容量与性能保障&#xff0c;向数据智能处理、高效管理及安全可靠的全…...

Oracle04-基本使用

零、文章目录 Oracle04-基本使用 1、创建表空间 &#xff08;1&#xff09;创建语句 create tablespace testdata datafile c:\datafile\testdata.dbf size 100m autoextend on next 10m&#xff08;2&#xff09;参数说明 testdata&#xff1a;表空间名称datafile&#x…...

YOLO 从入门到精通学习指南

一、引言 在计算机视觉领域,目标检测是一项至关重要的任务,其应用场景广泛,涵盖安防监控、自动驾驶、智能交通等众多领域。YOLO(You Only Look Once)作为目标检测领域的经典算法系列,以其高效、快速的特点受到了广泛的关注和应用。本学习指南将带领你从 YOLO 的基础概念…...

Linux 磁盘初始化与扩容操作手册

&#x1f4e6; 1. 初始化服务器&#xff0c;新磁盘挂载为 LV ✅ 使用 ext4 格式 # 创建挂载目录 mkdir -p /datatmp# 初始化物理卷 sudo pvcreate /dev/sdb# 创建卷组 sudo vgcreate vg_data /dev/sdb# 创建逻辑卷&#xff08;使用全部空间&#xff09; sudo lvcreate -l 100…...

ShardingSphere:使用information_schema查询时报错:Table ‘数据库名称.tables‘ doesn‘t exist

目录 简介异常信息SQL排查原因解决 简介 1、程序jdk1.8升级为jdk21 2、ShardingSphere框架从4.1.1升级为5.2.1 3、使用 information_schema.tables 查询时报错 异常信息 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 数据库名称.tables …...

uniapp开发09-设置一个tabbar底部导航栏且配置icon图标

uniapp开发09-设置一个tabbar底部导航栏且配置icon图标&#xff01;在实际项目开发中&#xff0c;经常会遇到需要设置icon图标的情况&#xff0c;而且底部导航通常都是有固定位置且内容不会轻易发生变化的。官方提供了自带的tabbar组件。我们来了解一下最基础的入门案例。 1&am…...

使用OpenCV 和 Dlib 实现年龄性别预测

文章目录 引言1.系统架构2.代码解析2.1 模型初始化2.2 核心函数实现(1) 人脸检测函数 getBoxes()(2) 中文文本显示函数 3. 主循环流程4.关键技术点5.总结 引言 在计算机视觉领域&#xff0c;人脸检测与属性分析是一项基础且重要的技术。本文将详细介绍如何使用OpenCV和深度学习…...

SSTI学习

1&#xff0c;什么是模板 模板引擎&#xff08;这里特指用于Web开发的模板引擎&#xff09;是为了使用户界面与业务数据&#xff08;内容&#xff09;分离而产生的&#xff0c;它可以生成特定格式的文档&#xff0c;利用模板引擎来生成前端的html代码&#xff0c;模板引擎会提供…...

0基础学习鸿蒙开发-HarmonyOS4

一、初识 1. 开发工具 官网 开发-HarmonyOS NEXT鸿蒙应用开发平台-华为开发者联盟 2. ArkTS 二、TypeScript 基本语法 1.变量声明 2. 条件控制 注意 在TypeScrips中 空字符串数字0、null、undefined 都坡认为是false 其它值则为true if (num) {// num 非空执行 } 3. 循环迭…...

原生 IP(Native IP)

目录 一、核心特点 二、原生 IP 的常见应用 三、原生 IP vs. 数据中心 IP 四、如何获取原生 IP&#xff1f; 五、原生 IP 的优缺点 六、实际案例 原生 IP&#xff08;Native IP&#xff09; 是指由互联网服务提供商&#xff08;ISP&#xff09;直接分配给用户的 IP 地址&…...

python + whisper 读取蓝牙耳机, 转为文字

1. 起因&#xff0c; 目的: 看到别人做了类似的效果。所以自己也想试试看。动手。 2. 先看效果 3. 过程: 我用的是蓝牙耳机&#xff0c;EDIFIER W820NB 先找到声音&#xff0c;设置为 Hands-Free 模式 代码 1 &#xff0c;查找设备名称&#xff0c; 看看哪个是能用的。 我…...

Prometheus实战教程:k8s平台-使用文件服务发现案例

date: 2025-03-06 tags:- prometheus --- 1查看NODE-IPkubectl get node -o wideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIMEk8s-node01 Ready &…...

黄金量化:高频实时的贵金属API

在风云变幻的投资领域&#xff0c;贵金属黄金市场一直备受瞩目。近期&#xff0c;黄金等贵金属报价API&#xff0c;价格走势犹如过山车&#xff0c;引发投资者高度关注。据 iTick 数据显示&#xff0c;截至 2025 年 5 月 6 日 15:30&#xff0c;黄金 TD 价格为 792.97 元 / 克&…...

人工智能在医疗运营编程中的应用综述

引言 随着人工智能技术的迅猛发展,医疗行业正经历一场深刻的变革。人工智能不再仅限于辅助诊断或医学影像分析,而是逐步渗透到医疗运营的各个环节。医疗运营编程作为医院管理的核心,涵盖了从患者入院到出院的全过程管理,包括资源分配、工作流程优化、收入管理、供应链控制等…...

【心海资源】0U攻击工具|一键模仿地址生成+余额归集+靓号生成系统

内容&#xff1a; 这是一款集合多种区块链辅助功能的0U攻击工具&#xff0c;无需部署环境、无需复杂配置&#xff0c;打开即可使用。主要功能包括&#xff1a; 0U攻击模块&#xff1a;模拟常见0U攻击场景&#xff0c;实现交易干扰与诱导。模仿地址生成&#xff1a;快速批量生成…...

Jenkins忘记admin密码后的恢复步骤

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 时间较长没有使用…...

基于深度学习的智能仓储异常检测系统设计与实现

一、项目场景 该设备主要应用于制造业、物流中心和仓储管理等场景。在制造业生产线上&#xff0c;该系统可用于实时监测产品的码垛状况&#xff0c;确保产品符合安全标准&#xff0c;避免因堆叠不当导致的产品损坏和生产停滞。在物流中心&#xff0c;系统能够监测卸货和入库过…...

安装篇--CentOS 7 虚拟机安装

CentOS 7 作为一个稳定且广泛使用的 Linux 发行版&#xff0c;是学习服务器管理和搭建各种服务&#xff08;例如 Hadoop 集群&#xff09;的理想平台。本次教程将教会大家如何在 VMware Workstation 虚拟机软件中一步步安装 CentOS 7 桌面环境。 准备工作&#xff1a; 确保您的…...

【Fifty Project - D23】

今日完成记录 TimePlan完成情况8&#xff1a;30 - 9&#xff1a;30《挪威的森林》√14&#xff1a;00 - 16&#xff1a;00修改大论文√16&#xff1a;00 - 17&#xff1a;30和老板讨论√ 早上在轰隆隆的火车声和时而从窗帘钻进的刺眼阳光中醒来&#xff0c;并没有意识到假期已…...

从零开始学java--集合类(2)

集合类 目录 集合类 Queue 队列的使用&#xff1a; 双端队列&#xff08;Deque&#xff09; Map和Set 概念&#xff1a; 模型&#xff1a; Map 常见方法说明&#xff1a; 注意&#xff1a; TreeMap和HashMap的区别&#xff1a; Set 常见方法说明&#xff1a; 注…...

在Star-CCM+中实现UDF并引用场数据和网格数据

在Star-CCM中实现UDF并引用场数据和网格数据 Star-CCM中的用户自定义函数(UDF)允许用户通过Java或C/C编程扩展软件功能。下面我将详细介绍如何实现UDF并引用模拟数据。 1. UDF基础实现方法 1.1 创建UDF的步骤 在Star-CCM中&#xff0c;右键点击"工具" → “用户函…...

WebRTC 服务器之SRS服务器性能优化配置

1.概述 SRS &#xff08;Simple Realtime Server&#xff09; 中提供的各种性能优化选项。这些选项允许您针对不同场景优化 SRS&#xff0c;从而在延迟、吞吐量和资源利用率之间取得平衡。有关常规配置的信息&#xff0c;请参阅配置。 1.1 性能提升目标 流媒体服务器的性能通常…...

n8n 中文系列教程_20. n8n高效开发秘诀:单步调试与测试用例实战指南

在n8n低代码开发中&#xff0c;你是否遇到过工作流运行时出错却难以定位问题&#xff1f;或者精心设计的流程在处理新数据时突然崩溃&#xff1f;单步调试和测试用例是解决这些痛点的关键&#xff01;本文将带你掌握精准调试技巧和高效测试方法&#xff0c;确保你的自动化流程稳…...

手机携号转网查询,一键查看号码是否可转网!

在现代社会&#xff0c;手机已经成为人们生活不可或缺的一部分。随着通讯技术的不断发展&#xff0c;手机用户们也有了更多的选择权利&#xff0c;比如携号转网。那么&#xff0c;如何方便地查询一个手机号是否可以进行携号转网呢&#xff1f;今天&#xff0c;我们就来介绍一款…...

多线程网络编程:粘包问题、多线程/多进程服务器实战与常见问题解析

多线程网络编程&#xff1a;粘包问题、多线程/多进程服务器实战与常见问题解析 一、TCP粘包问题&#xff1a;成因、影响与解决方案 1. 粘包问题本质 TCP是面向流的协议&#xff0c;数据传输时没有明确的消息边界&#xff0c;导致多个消息可能被合并&#xff08;粘包&#xf…...

【ArcGISPro】属性规则--属性联动

新建要素 直接点击【完成】 设置全局ID <...

五一感想:知识产权加速劳动价值!

今天是五一劳动节&#xff0c;祝各位网友劳动节快乐&#xff0c;昨天《中华人民共和国民营经济促进法》通过&#xff0c;普推知产老杨看到其中第三十三条专门就是针对知识产权的&#xff0c;加强对民营经济的原始创新保护。 一个普通的小物件白牌可能就卖1元钱&#xff0c;但是…...

ORACLE EBS 12.1 启用https 简单策略

Oracle EBS 启用https的官方文档是Document 376700.1, Enabling TLS in Oracle E-Business Suite Release 12.1&#xff0c;上面各种配置比较繁琐&#xff0c;我们参照Using Load-Balancers with Oracle E-Business Suite Release 12.0 and 12.1 (Doc ID 380489.1) 这个文档来利…...

Sublime PrettyJson 快捷键

一、进入快捷键编辑页 二、添加格式化、去掉格式化 快捷键 [ { "keys": ["ctrlcommandj"], "command": "pretty_json"}, { "keys": ["ctrlcommandm"], "command": "un_pretty_json"}…...

【计算机网络】TCP为什么可靠?解决了哪些问题?

TCP提供了&#xff1a; 1.可靠传输 2.流量控制 3.拥塞控制 4.连接管理 解决了数据在不可靠IP网络上的传输问题。 下面具体分析这4个方面。 1.可靠性传输&#xff1a; TCP确保数据包在网络传输过程中 不丢失、不重复&#xff0c;并且按顺序到达。 通过确认(ACK)、重传机制以…...

AI服务器的作用都有哪些?

根据网络环境的飞速发展&#xff0c;人工智能技术逐渐入驻到各个行业当中&#xff0c;其中AI服务器则是一种专门用来运行人工智能算法和模型的硬件设备&#xff0c;通常具备高性能计算、大容量存储和并行计算等多种功能&#xff0c;本文就来详细讲解一下AI服务器的作用&#xf…...

移动应用开发:自定义 View 处理大量数据的性能与交互优化方案

实现 1 万条数据下流畅滑动与灵敏交互的完美平衡。 一、数据渲染优化&#xff1a;从 1 万条到丝滑体验 &#xff08;一&#xff09;视图复用机制 视图复用是提升大量数据渲染性能的关键策略。以一个简单的自定义列表视图为例&#xff0c;我们可以构建如下的复用池管理机制&a…...

在 Ubuntu 下使用 ESP-IDF 通过串口烧录 ESP32

1. 准备工作 (1) 安装 ESP-IDF 环境 确保已完成 ESP-IDF 的安装和配置&#xff08;参考官方文档&#xff09;&#xff1a; bash 复制 下载 git clone --recursive https://github.com/espressif/esp-idf.git cd esp-idf ./install.sh . ./export.sh (2) 连接开发板 通过…...

探索SQLMesh中的Jinja宏:提升SQL查询的灵活性与复用性

在数据工程和数据分析领域&#xff0c;SQL是不可或缺的工具。随着项目复杂度的增加&#xff0c;如何高效地管理和复用SQL代码成为了一个重要课题。SQLMesh作为一款强大的工具&#xff0c;不仅支持标准的SQL语法&#xff0c;还引入了Jinja模板引擎的宏功能&#xff0c;极大地提升…...

【Linux】Linux中的调度和切换

一、引入基本概念 在任何的分时操作系统中&#xff0c;其调度都是较为公平的调度。在来回顾一下关于优先级为什么会被限制的问题&#xff1a; Linux为什么调整优先级是要受到限制的呢&#xff1f;&#xff1f; 如果不加限制&#xff0c;将自己进程的优先级调整到非常高&#xf…...

.NET 通过回调函数执行 Shellcode启动进程

在红队活动往往需要考虑如何在实际环境中绕过防御机制,启动木马进程。今天,我们将深入探讨一种较少被提及但非常有趣的技术——利用 EnumPwrSchemes 函数回调来执行shellcode。 0x01 EnumPwrSchemes函数 EnumPwrSchemes 是 Windows 操作系统中的一个 API 函数,位于 C:\Win…...

快速体验 .NET9 提供的 HybridCache 混合缓存

.NET 9 引入了 HybridCache&#xff0c;这是一个新的高性能、分布式就绪的内存缓存实现&#xff0c;旨在为现代 Web 应用提供更高效的数据缓存机制。它结合了本地缓存&#xff08;如 IMemoryCache&#xff09;和分布式缓存&#xff08;如 Redis、Garnet、SQL Server&#xff09…...

使用docker配置Mysql

Docker 命令 下面是一个常用的 Docker 命令&#xff0c;用于启动 MySQL 容器&#xff0c;并将数据挂载到本地目录&#xff1a; docker run -d \--name mysql-server \-e MYSQL_ROOT_PASSWORDyourpassword \-e MYSQL_DATABASEyourdb \-e MYSQL_USERyouruser \-e MYSQL_PASSWOR…...

stm32之输出比较OC和输入捕获IC

目录 1.输出比较OC1.1 简介1.2 PWM简介1.3 输出比较通道1.3.1 通用定时器1.3.2 高级定时器 1.4 PWM基本结构1.6 舵机1.7 直流电机1.7.1 引入&#xff1a;MX1508 芯片1.7.2 TB6612芯片 1.8 结构体和API1.8.1 结构体1.8.2 API1. TIM_OC1Init / TIM_OC2Init / TIM_OC3Init / TIM_O…...

为什么Transformer推理需要做KV缓存

一、我们先来回忆一下在transformer中KV在哪里出现过&#xff0c;都有什么作用&#xff1f; α的计算过程&#xff1a; 这里引入三个向量&#xff1a; 图中的q为Query&#xff0c;用来匹配key值 图中的k为key,用来被Query匹配 图中的Value&#xff0c;是用来被进行加权平均的 由…...

Stream和Collections工具类

Stream流 Java 8 API添加了一个新的抽象称为流Stream&#xff0c;可以让你以一种声明的方式处理数据。Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。这种风格将要处理的元素集合看作一种流&#xff0c;流在管道中传输&am…...

结合Hutool 突增突降检测的算法

在 Hutool 中虽然没有直接提供“突增突降检测”的算法&#xff0c;但可以通过其提供的工具类&#xff08;如 CollUtil、ArrayDeque、MathUtil 等&#xff09;结合滑动窗口、差分分析等方法&#xff0c;快速实现突增突降检测逻辑。以下是基于 Hutool 的实现思路和示例代码&#…...

java springboot deepseek流式对话集成示例

1.直接上代码-后端&#xff1a; RestController CrossOrigin(origins "*") public class DeepSeekController {private static final String API_URL "https://api.deepseek.com/v1/chat/completions";private final ObjectMapper objectMapper new Ob…...

技术对暴力的削弱

信息时代的大政治分析&#xff1a;效率对暴力的颠覆 一、工业时代勒索逻辑的终结 工厂罢工的消亡 1930年代通用汽车罢工依赖工厂的物理集中、高资本投入和流水线脆弱性&#xff0c;通过暴力瘫痪生产实现勒索。 信息时代企业分散化、资产虚拟化&#xff08;如软件公司可携带代码…...

RAG框架搭建(基于Langchain+Ollama生成级RAG 聊天机器人)

目录 一 Ollama安装 Windows 系统安装 验证安装 二 Langchain安装 2.1 先创建一个虚拟环境 2.2 安装最新版 langchain​ 三 基于 Langchain私有模型&#xff0c;构建一个生成级RAG 聊天机器人 3.1 初始化LLM 3.2 增强生成 3.3生成嵌入 3.4 生成并存储嵌入 一 Ol…...