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

贪心算法~~

目录

一、理论基础

二、题目练习

(1)455. 分发饼干

(2)53. 最大子数组和 - 力扣

(3)122. 买卖股票的最佳时机 II - 力扣(LeetCode)

(4)860. 柠檬水找零 - 力扣(LeetCode)

(5)905. 区间选点 - AcWing题库

 (6)AcWing 908. 最大不相交区间数量

 (7)906. 区间分组 - AcWing题库

 (8)907. 区间覆盖 - AcWing题库

 (9)148. 合并果子 - AcWing题库

 (10)913. 排队打水 - AcWing题库

(11)104. 货仓选址 - AcWing题库

一、理论基础

贪心的本质是选择每一阶段的局部最优,从而达到全局最优

        例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿?

指定每次拿最大的,最终结果就是拿走最大数额的钱。

每次拿最大的就是局部最优,最后拿走最大数额的钱就是推出全局最优。

        再举一个例子如果是 有一堆盒子,你有一个背包体积为n,如何把背包尽可能装满,如果还每次选最大的盒子,就不行了。这时候就需要动态规划


> 什么时候用贪心?

        hhh卡哥说没有具体场景,,手动模拟一下感觉可以局部最优推出整体最优,而且想不到反例,那么就试一试贪心。贪心有时候就是常识性的推导,所以会认为本应该就这么做!

> 一般解题步骤?

  • 将问题分解为若干个子问题
  • 找出适合的贪心策略
  • 求解每一个子问题的最优解
  • 将局部最优解堆叠成全局最优解

确实过于理论化。。。。~一般都会涉及到排序 、找规律、反证其可行性

 我们直接练题!!!

二、题目练习

(1)455. 分发饼干

        局部最优就是大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个,全局最优就是喂饱尽可能多的小孩

最终代码:

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {//给孩子和饼干排序sort(g.begin(),g.end());sort(s.begin(),s.end());int res=0;int index=s.size()-1;//将大饼干优先分给胃口大的孩子for(int i=g.size()-1;i>=0;i--)//遍历胃口{if(index>=0&&s[index]>=g[i]) //遍历饼干 {index--; //可以分配就指向下一个更大的饼干 res++;}}return res;}
};

 感觉还挺简单的,难在找到他的局部最优性质

(2)53. 最大子数组和 - 力扣

解法一: 可以暴力,但是时间复杂度会高

 解法二:dp,之前我们有做过~

解法三:贪心

        如果 -2 1 在一起,计算起点的时候,一定是从 1 开始计算,因为负数只会拉低总和,这就是贪心贪的地方!局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。

遍历 nums,从头开始用 count 累积,如果 count 一旦加上 nums[i]变为负数,那么就应该从 nums[i+1]开始从 0 累积 count 了,因为已经变为负数的 count,只会拖累总和。

 

class Solution {
public:int maxSubArray(vector<int>& nums) {int res=INT_MIN; //一个很小的负数int cnt=0;for(int i=0;i<nums.size();i++){cnt+=nums[i];if(cnt>res)res=cnt;if(cnt<=0) cnt=0; //加上之后非正了,cnt=0相当于重置最大子序起始位置}return res;}
};

(3)122. 买卖股票的最佳时机 II - 力扣(LeetCode)

在dp中我们也做过这道题~~,找到局部最优性质后,用贪心更简单一点 

局部最优:收集每天的正利润,全局最优:求得最大利润

是不是特别简单哈哈哈

class Solution {
public:int maxProfit(vector<int>& prices) {int result = 0;for (int i = 1; i < prices.size(); i++) {result += max(prices[i] - prices[i - 1], 0);}return result;}
};

(4)860. 柠檬水找零 - 力扣(LeetCode)

 

只需要维护三种金额的数量,5,10和20。

  • 情况一:账单是5,直接收下。
  • 情况二:账单是10,消耗一个5,增加一个10
  • 情况三:账单是20,优先消耗一个10和一个5,如果不够,再消耗三个5

账单是20的情况,为什么要优先消耗一个10和一个5呢?

        因为美元10只能给账单20找零,而美元5可以给账单10和账单20找零,美元5更万能!

所以局部最优:遇到账单20,优先消耗美元10,完成本次找零。全局最优:完成全部账单的找零。

class Solution {
public:bool lemonadeChange(vector<int>& bills) {int five = 0, ten = 0, twenty = 0;for (int bill : bills) {// 情况一if (bill == 5) five++;// 情况二if (bill == 10) {if (five <= 0) return false; //找不了ten++;five--;}// 情况三if (bill == 20) {// 优先消耗10美元,因为5美元的找零用处更大,能多留着就多留着if (five > 0 && ten > 0) {five--;ten--;twenty++; // 其实这行代码可以删了,因为记录20已经没有意义了,不会用20来找零} else if (five >= 3) {five -= 3;twenty++; // 同理,这行代码也可以删了} else return false;}}return true;}
};

 

(5)905. 区间选点 - AcWing题库

 

 数轴上有一些区间,在数轴上选取几个点,要求每个区间上最少有一个点。

     

        

#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
struct Range
{int l, r; //左右结点bool operator< (const Range &W)const{return r < W.r; //按照右端点从小到大排序}
}range[N];int main()
{scanf("%d", &n);for (int i = 0; i < n; i ++ ) cin>>range[i].l>>range[i].r;sort(range, range + n);int res = 0, ed = -2e9;for (int i = 0; i < n; i ++ )if (ed < range[i].l) //新的左端点不能覆盖右端点{res ++ ; //需要新增一个结点ed = range[i].r; //更新右端点}cout<<res;return 0;
}

 (6)AcWing 908. 最大不相交区间数量

 与上一道区间选点的题一样,一定要是对右端点从小到大排序!!!!

#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
struct Range
{int l, r; //左右结点bool operator< (const Range &W)const{return r < W.r; //按照右端点从小到大排序}
}range[N];int main()
{scanf("%d", &n);for (int i = 0; i < n; i ++ ) cin>>range[i].l>>range[i].r;sort(range, range + n);int res = 0, ed = -2e9;for (int i = 0; i < n; i ++ )if (ed < range[i].l) //新的左端点不能覆盖右端点{res ++ ; //需要新增一个结点ed = range[i].r; //更新右端点}cout<<res;return 0;
}

 (7)906. 区间分组 - AcWing题库

 等效于把尽可能多的区间塞进同一组,要满足range[i].l > heap.top

  1. 把所有区间按照左端点从小到大排序
  2. 从前往后枚举每个区间,判断此区间能否将其放到现有的组中
  3. heap有多少区间,就有多少组
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
struct Range
{int l, r;bool operator< (const Range &W)const{return l < W.l; //按照左端点排序!!!!}
}range[N];int main()
{cin>>n;for (int i = 0; i < n; i ++ ){int l, r;cin>>l>>r;range[i] = {l, r};}sort(range, range + n);//小根堆(每次弹出最小的数)--每个组的右端点存储在 heap 中priority_queue<int, vector<int>, greater<int>> heap;for (int i = 0; i < n; i ++ ){//新区间的左端点大于等于堆顶的右端点if (heap.empty() || heap.top() >= range[i].l){heap.push(range[i].r); //开一个新组,记录其右端点}else { //可以合并heap.pop();//取出右端点最小的区间heap.push(range[i].r);//保留这个右端点较大的区间}}cout<<heap.size();return 0;
}

 (8)907. 区间覆盖 - AcWing题库

 

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10,M=1e9+10;
#define PII pair<int ,int>
PII a[N];
int s,t,n;
int main()
{cin>>s>>t;cin>>n;for(int i=0;i<n;i++){cin>>a[i].first>>a[i].second;}sort(a,a+n);int res=0;bool flag=false;//默认无法完全覆盖for(int i=0;i<n;i++){int j=i,r=-M;while(j<n&&a[j].first<=s){r=max(r,a[j].second);j++;}if(r<s) {res=-1;break;}res++;//最后更新的右端点大于给定区间---能覆盖if(r>=t) {flag=true;break;}s=r;//每次更新左端点为能覆盖给定区间的最大的右端点i=j-1;}if(!flag) res=-1;cout<<res;return 0;}

 (9)148. 合并果子 - AcWing题库

 

在学优先队列的时候做过这道题~~

priority_queue 优先队列-CSDN博客

#include<bits/stdc++.h>
using namespace std;
using ll =long long;
ll ans;
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n;cin>>n;priority_queue<ll,vector<ll>,greater<ll>> pq;while(n--){ll x;cin>>x;pq.push(x);}while(pq.size()>=2){ll x=pq.top();pq.pop();ll y=pq.top();pq.pop();ans+=x+y;pq.push(x+y);}cout<<ans;return 0;
}

 (10)913. 排队打水 - AcWing题库

需要将打水时间最短的人先打水 --计算前缀和数组的和(不包含最后一个人)

 

#include<bits/stdc++.h>
using namespace std;
using LL=long long;
int main()
{int n;cin>>n;vector<LL> a(n+1);vector<LL> qz(n+1,0);//前缀和数组for(int i=1;i<=n;i++) cin>>a[i];//从小到大排序sort(a.begin(),a.end());//计算排序后的前缀和数组(不用计算最后一个)for(int i=1;i<n;i++) qz[i]=qz[i-1]+a[i];//求前缀和的sumcout<<accumulate(qz.begin()+1,qz.end(),0ll);return 0;
}

(11)104. 货仓选址 - AcWing题库

贪心策略:一开始自己也猜到了哈哈哈就是中位数

 排序 +中位数

#include <bits/stdc++.h>
using namespace std;
const int N=100100;
int a[N],n,i,ans,sum;
int main()
{cin>>n;for (i=1;i<=n;i++)cin>>a[i];sort(a+1,a+1+n);//排序int sm=a[n/2+1];//中位数for (i=1;i<=n;i++)ans=ans+abs(a[i]-sm);//统计和中位数之间的差cout<<ans;return 0;
}

 

相关文章:

贪心算法~~

目录 一、理论基础 二、题目练习 &#xff08;1&#xff09;455. 分发饼干 &#xff08;2&#xff09;53. 最大子数组和 - 力扣 &#xff08;3&#xff09;122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; &#xff08;4&#xff09;860. 柠檬水找零…...

XYNU2024信安杯-REVERSE(复现)

前言 记录记录 1.Can_you_find_me? 签到题&#xff0c;秒了 2.ea_re 快速定位 int __cdecl main_0(int argc, const char **argv, const char **envp) {int v4; // [esp0h] [ebp-1A0h]const char **v5; // [esp4h] [ebp-19Ch]const char **v6; // [esp8h] [ebp-198h]char v7;…...

NLP系列【自然语言处理的深度学习模型综述】

自然语言处理的深度学习模型 摘要传统自然语言处理模型&#xff08;略 不作重点&#xff09;神经网络自然语言处理模型经典神经网络CNN网络模型Word2Vec模型RNN模型GPT网络模型BERT网络模型 BERT变体模型提升模型性能模型压缩 摘要 在自然语言处理任务方面&#xff0c;依据语料…...

【差分隐私】basic primitive的含义

在差分隐私领域&#xff0c;“basic primitive”一词具有特定的技术含义&#xff0c;需从单词本义及学科背景两个层面解析&#xff1a; 一、单词本义解析 “Primitive”在计算机科学中通常指代基础构建单元或核心组件&#xff0c;例如编程语言中的基本数据类型&#xff08;如整…...

数字浪潮下的算力担当:GPU 服务器的多元应用、核心价值

在当今数据洪流和信息爆炸的时代&#xff0c;算力已成为衡量国家、行业乃至企业发展水平的关键指标。而算力服务器&#xff0c;特别是 GPU 服务器&#xff0c;作为算力的核心载体&#xff0c;正以其卓越性能深刻改变着世界的运行逻辑与模式。从数据处理到云计算&#xff0c;从人…...

【Echarts】使用echarts绘制多个不同类型的中国地图

一、需求 在同一页面上绘制多个不同类型的中国地图&#xff0c;如果是在同一页面上绘制多个同一种类型的地图可以直接引用一个china.js文件&#xff0c;设置两个独立的div分别用于放置两个地图&#xff0c;并实例化配置相关参数即可&#xff0c;但是如果在同一个页面上绘制多个…...

WEB漏洞-XSS跨站原理分类

本文主要内容 原理 XSS漏洞产生原理&#xff1f; XSS漏洞危害影响&#xff1f; 分类 反射型、存储型、DOM型 手法 XSS平台使用 XSS工具使用 XSS结合其他漏洞 靶场搭建 pikachu 靶场搭建&#xff08;完整版&#xff09;-CSDN博客https://blog.csdn.net…...

PR第二课--混剪

1.音乐打点 1.1 手动打点 按钮(如图),或者,快捷键M(如果在已有打点处,再次按M键会进入对标记点的设置界面,如下下图) 1.2 插件打点 一段音乐中,有明显的鼓点时,可以使用打点插件,快捷打点;如果鼓点不明显的话,最好还是手动打点,用插件打点会打出大量的标记点,…...

Kafka和flume整合

需求1&#xff1a;利用flume监控某目录中新生成的文件&#xff0c;将监控到的变更数据发送给kafka&#xff0c;kafka将收到的数据打印到控制台&#xff1a; 在flume/conf下添加.conf文件&#xff0c; vi flume-kafka.conf # 定义 Agent 组件 a1.sourcesr1 a1.sinksk1 a1.c…...

Linux 内核网络协议栈中 inet_stream_ops 与 tcp_prot 的深度解析

在 Linux 内核网络协议栈中,TCP 协议的实现依赖于多个关键结构体的协作。其中,inet_stream_ops 和 tcp_prot 是两个核心结构体,它们分别属于不同的层次,共同完成从用户态系统调用到底层协议处理的完整链路。本文将从功能定位、协作关系、代码示例及设计哲学等方面,深入分析…...

flume整合kafka

需求一&#xff1a; 启动flume 启动kafka消费者&#xff0c;验证数据写入成功 新增测试数据 需求二&#xff1a; 启动Kafka生产者 启动Flume 在生产者中写入数据...

EasyRTC音视频实时通话嵌入式SDK,打造社交娱乐低延迟实时互动的新体验

一、方案背景 在数字化时代&#xff0c;社交娱乐已经成为人们生活中不可或缺的一部分。随着移动互联网和智能设备的普及&#xff0c;用户对实时互动的需求越来越高。EasyRTC作为一款基于WebRTC技术的实时音视频通信解决方案&#xff0c;凭借其低延迟、高稳定性和跨平台兼容性&…...

制作一款打飞机游戏21:自定义工具

关于如何在Pico 8中创建我们自己的编辑器。 外部编辑器的需求 首先&#xff0c;我想谈谈为什么我们需要外部编辑器。外部编辑器通常用于编辑游戏中的数据。例如&#xff0c;一个游戏卡或程序通常包含一些代码&#xff0c;但也会包含数据&#xff0c;比如静态信息&#xff0c;…...

面向高性能运动控制的MCU:架构创新、算法优化与应用分析

摘要&#xff1a;现代工业自动化、汽车电子以及商业航天等领域对运动控制MCU的性能要求不断提升。本文以国科安芯的MCU芯片AS32A601为例&#xff0c;从架构创新、算法优化到实际应用案例&#xff0c;全方位展示其在高性能运动控制领域的优势与潜力。该MCU以32位RISC-V指令集为基…...

LWIP中两种重要的数据结构pbuf和pcb详细介绍

LWIP&#xff08;Lightweight IP&#xff09;是为嵌入式系统设计的轻量级TCP/IP协议栈。pbuf&#xff08;Packet Buffer&#xff09;和PCB&#xff08;Protocol Control Block&#xff09;是LwIP中两个核心数据结构&#xff0c;分别负责数据包管理和协议状态维护。 1. pbuf&…...

embedding_model模型通没有自带有归一化层该怎么处理?

embedding_model 是什么&#xff1a; 嵌入式模型&#xff08;Embedding&#xff09;是一种广泛应用于自然语言处理&#xff08;NLP&#xff09;和计算机视觉&#xff08;CV&#xff09;等领域的机器学习模型&#xff0c;它可以将高维度的数据转化为低维度的嵌入空间&#xff0…...

【蓝桥杯选拔赛真题104】Scratch回文数 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析

目录 scratch回文数 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 四、程序编写 五、考点分析 六、推荐资料 1、scratch资料 2、python资料 3、C++资料 scratch回文数 第十五届青少年蓝桥杯scratch编…...

1.2-1.3考研408计算机组成原理第一章 计算机系统概述

计算机组成原理第一章 计算机系统概述 一、计算机的层次结构 1.1 计算机系统组成 计算机系统由硬件系统和软件系统两大部分构成&#xff1a; 硬件系统&#xff1a;包括运算器、控制器、存储器、输入设备和输出设备五大核心部件&#xff08;冯诺依曼体系结构&#xff09;。软…...

【QQmusic自定义控件实现音乐播放器核心交互逻辑】第三章

&#x1f339; 作者: 云小逸 &#x1f91f; 个人主页: 云小逸的主页 &#x1f91f; motto: 要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前&#xff0c;其次就是现在&…...

基于图扑 HT 实现的智慧展馆数字孪生应用

在当今数字化时代&#xff0c;智慧展览馆作为传统展览场所的创新升级形态&#xff0c;借助前沿科技与现代化管理理念&#xff0c;实现了全方位的数字化、智能化转型。图扑软件凭借其自主研发的 HT 技术在智慧展馆领域取得了卓越成果&#xff0c;为城市基础设施数字化应用带来了…...

从线性到非线性:简单聊聊神经网络的常见三大激活函数

大家好&#xff0c;我是沛哥儿&#xff0c;我们今天一起来学习下神经网络的三个常用的激活函数。 引言&#xff1a;什么是激活函数 激活函数是神经网络中非常重要的组成部分&#xff0c;它引入了非线性因素&#xff0c;使得神经网络能够学习和表示复杂的函数关系。 在神经网络…...

重生之--js原生甘特图实现

需求&#xff1a; 一个树形结构&#xff0c;根据子节点的时间范围显示显示进度 &#xff0c;不同的时间范围对应不同的颜色 数据类型大概是这个样子的 甘特图 dom部分 首先要计算所有节点的 最大时间和最小时间 然后再计算每个甘特图的宽度 再计算他的偏移量 再计算颜色...

pnpm monoreop 打包时 node_modules 内部包 typescript 不能推导出类型报错

报错信息如下&#xff1a; ../../packages/antdv/components/pro-table/src/form-render.vue:405:1 - error TS2742: The inferred type of default cannot be named without a reference to .pnpm/scroll-into-view-if-needed2.2.31/node_modules/scroll-into-view-if-needed…...

告别默认配置!Xray自定义POC开发指南

文章涉及操作均为测试环境,未授权时切勿对真实业务系统进行测试! 下载与解压 官网地址: Xray GitHub Releases 根据系统选择对应版本: Windows:xray_windows_amd64.exe.zipLinux:xray_linux_amd64.zipmacOS:xray_darwin_amd64.zip解压后得到可执行文件(如 xray_linux_…...

websheet之 自定义函数

在线代码 {.is-success} 一、自定义函数约定 必须遵守本控件的自定函数约定才可以正常使用。 {.is-warning} 约定如下&#xff1a; 自定义类名称与函数名称一致。&#xff08;强制&#xff09;该类方法名称与函数名称一致&#xff0c;该方法是函数的入口。&#xff08;强制&am…...

Jenkins Pipeline 构建 CI/CD 流程

文章目录 jenkins 安装jenkins 配置jenkins 快速上手在 jenkins 中创建一个新的 Pipeline 作业配置Pipeline运行 Pipeline 作业 Pipeline概述Declarative PipelineScripted Pipeline jenkins 安装 安装环境&#xff1a; Linux CentOS 10&#xff1a;Linux CentOS9安装配置Jav…...

电脑技巧:路由器内部元器件介绍

目录 1. 处理器(CPU) 2. 内存(RAM) 3. 固态存储(Flash Memory) 4. 网络接口卡(NIC) 5. 电源模块 6. 散热系统 7. 无线天线 结语 路由器是我们日常上网的重要设备,今天我们就来深入了解路由器内部的各个元器件,了解它们是如何协同工作,一起来看看吧。 1. 处理器(CPU…...

ArrayUtils:数组操作的“变形金刚“——让你的数组七十二变

各位数组操控师们好&#xff01;今天给大家带来的是Apache Commons Lang3中的ArrayUtils工具类。这个工具就像数组界的"孙悟空"&#xff0c;能让你的数组随心所欲地变大、变小、变长、变短&#xff0c;再也不用对着原生数组的"死板"叹气了&#xff01; 一…...

电脑温度怎么看 查看CPU温度的方法

监测电脑温度对于保持硬件健康非常重要&#xff0c;特别是在进行高强度运算、游戏或超频等操作时。过高的温度可能导致硬件性能下降&#xff0c;甚至损坏。本篇文章将介绍查看电脑温度的4种方法。 一、使用Windows内置工具查看CPU温度 Windows系统本身并不直接提供查看CPU温度…...

【合新通信】---浸没式液冷光模块化学兼容性测试方法

一、测试目的与核心挑战 测试目标 验证冷媒&#xff08;氟化液、矿物油等&#xff09;与光模块材料的化学稳定性&#xff0c;确保长期浸没环境下无腐蚀、溶胀或性能衰减。关键风险点&#xff1a;密封材料&#xff08;如硅胶、环氧树脂&#xff09;的溶解或老化&#xff1b;金…...

shell 循环

shell 循环while语句,shell循环until语句在上一篇shell流程控制 1.shell循环until语句 until 条件 #当后面的条件表达式为假的时候的才循环,为真的时候就停止了 do 循环体 done [root@linux-server script]# cat until.sh (1) #!/bin/bash x=1 until [ $x -ge 10 ] 大于…...

【产品经理】常见的交互说明撰写方法

在产品原型设计中&#xff0c;交互说明是确保开发团队准确理解设计意图的关键文档。以下是常见的交互说明撰写方法及其应用场景&#xff0c;帮助您系统化地传达交互逻辑&#xff1a; 文字描述法 方法&#xff1a;用自然语言详细描述操作流程、反馈及规则。 适用场景&#xff…...

使用kubeadmin 部署k8s集群

成功搭建一个 Kubernetes 1.28.2 集群,包含以下组件和状态: 集群拓扑 1 个 Master 节点 IP:10.1.1.100 角色:control-plane 2 个 Worker 节点 Node2:10.1.1.101 Node3:10.1.1.102 核心组件状态 所有节点通过 kubectl get nodes 显示为 Ready。 核心 Pod(如 etc…...

二项式分布html实验

二项式分布html实验 本文将带你一步步搭建一个纯前端的二项分布 Monte-Carlo 模拟器。 只要一个 HTML 文件&#xff0c;打开就能运行&#xff1a; 动态输入试验次数 n、成功概率 p 与重复次数 m点击按钮立刻得到「模拟频数 vs 理论频数」柱状图随着 m 增大&#xff0c;两组柱状…...

[基础] Windows PCIe设备驱动框架与开发实践深度解析

Windows PCIe设备驱动框架与开发实践深度解析 1. PCIe设备驱动技术背景 PCI Express&#xff08;Peripheral Component Interrupt Express&#xff09;作为现代计算机系统的核心互连标准&#xff0c;其驱动程序开发涉及复杂的内核模式编程。Windows系统通过模块化的驱动架构支…...

面向智能家居安全的异常行为识别与应急联动关键技术研究与系统实现(源码+论文+部署讲解等)

需要资料&#xff0c;请文末系 一、平台介绍 3D家庭实景 - 动热力图 多模态看板 跌倒行为分析 二、论文内容 在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2dfe7f45d3ce42399e0df9535870d26d.png) bash 摘要 Abstract第一章 绪论 1.1 研究背景与动机 o1.1.1…...

根据JSON动态生成表单表格

根据JSON动态生成表单表格 一. 子组件 DynamicFormTable.vue1,根据JSON数据动态生成表单表格,支持表单验证JS部分1.1,props数据1.2,表单数据和数据监听1.3,自动验证1.4,表单验证1.5,获取表单数据1.6,事件处理1.7,暴露方法给父组件2,HTML部分二,父组件1, 模拟数据2,…...

spring OncePerRequestFilter 作用

概要 OncePerRequestFilter 是 Spring Web 提供的一个抽象滤器基类&#xff0c;用于保证在一次 HTTP 请求的整个分派过程中&#xff0c;该滤器仅执行一次&#xff0c;无论该请求经历了多少次内部转发&#xff08;forward&#xff09;、包含&#xff08;include&#xff09;或错…...

关于开源大模型(如 LLaMA、InternLM、Baichuan、DeepSeek、Qwen 等)二次开发或训练经验的关键点和概述

以下是适合初学者理解的关于开源大模型&#xff08;如 LLaMA、InternLM、Baichuan、DeepSeek、Qwen 等&#xff09;二次开发或训练经验的关键点和概述&#xff0c;&#xff1a; 关键点&#xff1a; 研究表明&#xff0c;二次开发通常涉及微调模型以适应特定任务&#xff0c;需…...

promethus基础

1.下载prometheus并解压 主要配置prometheus.yml文件 在scrape_configs配置项下添加配置(hadoop202是主机名)&#xff1a; scrape_configs: job_name: ‘prometheus’ static_configs: targets: [‘hadoop202:9090’] 添加 PushGateway 监控配置 job_name: ‘pushgateway’…...

26考研 | 王道 | 数据结构 | 第八章 排序

第八章 排序 文章目录 第八章 排序**8.1** 排序的基本概念**8.2 插入排序****8.2.1 直接插入排序****8.2.2 折半插入排序****8.2.3 希尔排序** 8.3 交换排序8.3.1 冒泡排序8.3.2 快速排序 8.4 选择排序8.4.1 简单选择排序8.4.2 堆排序堆的概念&#xff1a;建立大根堆的代码堆排…...

SecMulti-RAG:兼顾数据安全与智能检索的多源RAG框架,为企业构建不泄密的智能搜索引擎

本文深入剖析SecMulti-RAG框架&#xff0c;该框架通过集成内部文档库、预构建专家知识以及受控外部大语言模型&#xff0c;并结合保密性过滤机制&#xff0c;为企业提供了一种平衡信息准确性、完整性与数据安全性的RAG解决方案&#xff0c;同时有效控制部署成本。 企业环境中A…...

kubesphere 单节点启动 etcd 报错

kubekey安装 ./kk create cluster -f config-sample.yaml --with-local-storage 时报错 etcd health check failed: Failed to exec command: sudo -E /bin/bash -c "export ETCDCTL_API2;export ETCDCTL_CERT_FILE/etc/ssl/etcd/ssl/admin-node1.pem;export ETCDCTL_KEY_…...

femap许可常见问题及解决方案

在使用Femap进行电磁仿真分析时&#xff0c;许可证管理是一个关键环节。然而&#xff0c;许多用户在许可证使用过程中可能会遇到各种问题。本文旨在解答关于Femap许可的常见疑问&#xff0c;并提供相应的解决方案&#xff0c;帮助您更顺畅地使用Femap许可证。 一、常见问题 许…...

游戏引擎学习第244天: 完成异步纹理下载

启动并运行游戏&#xff0c;注意到我们的纹理没有被下载 我们将继续完成游戏的开发。昨天&#xff0c;我们已经实现了多线程的纹理下载&#xff0c;但并没有时间调试它&#xff0c;因此纹理下载功能目前并没有正常工作。我们只是写了相关的代码&#xff0c;但由于大部分时间都…...

【安全扫描器原理】TCP/IP协议编程

【安全扫描器原理】TCP/IP协议编程 1.概述2.Windows Socket结构3.Windows socket转换类函数4.Windows Socket通信类函数 1.概述 TCP/IP协议是目前网络中使用最广泛的协议&#xff0c;Socket称为“套接口”​&#xff0c;最早出现在Berkeley Unix中&#xff0c;最初只支持TCP/I…...

Cuda-GDB Frame Unwind 管理(未完.)

在计算机编程中&#xff0c;Frame Unwind&#xff08;栈展开&#xff09; 是指函数调用栈的逆向操作&#xff0c;即在函数返回或异常发生时&#xff0c;系统逐层释放栈帧&#xff08;Stack Frame&#xff09;、恢复调用上下文的过程。以下是详细解释及其在 GPU编程&#xff08;…...

如何在IDEA中高效使用Test注解进行单元测试?

在软件开发过程中&#xff0c;单元测试是保证代码质量的重要手段之一。而IntelliJ IDEA作为一款强大的Java开发工具&#xff0c;提供了丰富的功能来支持JUnit测试&#xff0c;尤其是通过Test注解可以快速编写和运行单元测试。那么&#xff0c;如何在IDEA中高效使用Test注解进行…...

什么是访客鉴权?全面解析核心原理与CC防护应用实践

一、访客鉴权是什么&#xff1f; 访客鉴权&#xff08;Visitor Authentication and Authorization&#xff09;是系统对访问者进行身份验证和权限控制的过程&#xff0c;确保只有合法用户能够访问特定资源或执行特定操作。其核心目标是确认身份、控制权限、保障数据安全&#…...

DeepSeek大模型应用学习通知

随着人工智能在各领域深度融合发展&#xff0c;DeepSeek大模型迅速火爆全网&#xff0c;清华大学以最快的速度发布了DeepSeek从入门到精通使用技巧&#xff0c;能够更好的助力于企业和个人参与到AI研究和应用中&#xff0c;对于AI行业创新有重要意义&#xff0c;被誉为国运级的…...