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

CF1801D

CF1801D
题目大意: n n n 个顶点, m m m 条边的图。你一开始在起点 1,拥有 P P P 枚硬币,通过每条 ( i , j ) (i,j) (i,j) 边都需要花费一定的硬币 s ( i , j ) s(i,j) s(i,j)。但你在每个城市 i i i 都可以打工赚硬币 w i w_i wi(可以多次打工)。请问从 1 到 n n n 的最少打工次数是多少次?

会有一个贪心的想法:去赚钱最多的城市打最少的工,然后一次性去到终点。但很快就能否决掉,在去赚硬币最多的城市的过程中可能要打很多次工。所以,只在一个城市打工的念头要彻底消除。而去哪打工?打多少次工最好?这是我们需要平衡的地方。因此,这应该是一个动态规划。

方法 1:

使用动态规划分析该问题,设最少打工次数的方案为: { 1 , a 1 , a 2 , . . . , a k , n } \{1,a_1,a_2,...,a_k,n\} {1,a1,a2,...,ak,n}
a k = i a_k=i ak=i i i i n n n 的邻接点):方案变为 { 1 , a 1 , a 2 , . . . , a k − 1 , i , n } \{1,a_1,a_2,...,a_{k-1},i,n\} {1,a1,a2,...,ak1,i,n}
方案的属性:

  1. 打工次数。原方案的打工次数 = 子方案 { 1 , a 1 , a 2 , . . . , a k − 1 , i } \{1,a_1,a_2,...,a_{k-1},i\} {1,a1,a2,...,ak1,i} 的打工次数 + i i i n n n 的打工次数。由于,原方案要求打工次数最少。因此,子方案的打工次数也应该越少越好。
  2. 硬币数量。原方案的剩余的硬币数量 = 子方案 { 1 , a 1 , a 2 , . . . , a k − 1 , i } \{1,a_1,a_2,...,a_{k-1},i\} {1,a1,a2,...,ak1,i} 剩余的硬币数量 + i i i n n n 的打工次数 * w i w_i wi - s ( i , n ) s(i,n) s(i,n)。由于,并不知道原方案剩余多少硬币、 i i i n n n 的打工次数打了多少次工,导致我们无法知道子方案剩余的硬币数量。
  3. 目的地。子方案目的地变为了 i i i

根据上述原因,我们的想法是:第一,需要给原问题多一维 剩余硬币 的状态。第二,在方案分析中,添加对打工次数的分类讨论。但是,由于剩余硬币可能是 0 ~ 1 0 9 10^9 109,不可能作为状态使用。对打工次数的分类讨论也无法实现,最多打多少次工呢?即使知道了,时间复杂度也无法通过题目。

此处就是题目较难的思维点:方案中,打工的地方,越往后打工的单价只会越来越高。因为,如果你后面打工的单价低,那还不如在前面先打好工呢。根据此,我们可得到,每一次向后走,用前面打工钱数最高的单价去打工,并且只需要尽量的能到达下一个地点即可。因此,打工次数无需枚举,是固定的。

  • i i i n n n 的打工次数为:( s ( i , n ) s(i,n) s(i,n) - 子方案剩余的硬币数量) / max ⁡ { w } \max\{w\} max{w}。为了后续的打工次数少,子方案硬币能剩余的越多越好。

同时,打工次数被确定了后,每一次剩余的硬币数量也能被确定:

  • i i i n n n 的打工次数为 h h h。原方案的剩余的硬币数量 = 子方案 { 1 , a 1 , a 2 , . . . , a k − 1 , i } \{1,a_1,a_2,...,a_{k-1},i\} {1,a1,a2,...,ak1,i} 剩余的硬币数量 + h h h * max ⁡ { w } \max\{w\} max{w} - s ( i , n ) s(i,n) s(i,n)

所以,此时打工次数只剩下与 max ⁡ { w } \max\{w\} max{w} 也有关。而由于,一共只有 n n n 个物品。因此,我们可以增加一维状态用于表示经过的最高的可打工的地点。此时,子方案反映的问题是:从 1 到 i i i ,且打工的最高单价为 j j j,打工的最少次数是多少,同时剩余的硬币最多是多少?

又由于,这是在图论背景下的问题,我们只能选择贡献式递推去解决该问题,也就是使用 dijkstra 算法去递推。时间复杂度为 O ( n m log ⁡ n ) O(nm\log n) O(nmlogn),如果把 dijkstra 变成朴素版本就可以到达 O ( n 3 ) O(n^3) O(n3)

#include<bits/stdc++.h>using namespace std;typedef long long ll;
const int N = 810;
int n,m,p;
struct edge{int to,cost;
};vector<edge>v[N];struct node{int now;ll time,coin;int maxn;bool operator < (const node &p)const{if(time == p.time) return coin < p.coin;return time > p.time;}
};ll ans;
int flag[N][N],w[N];
node dist[N][N];
void dij(){for(int i = 0; i <= n; i++){for(int j = 0; j <= n; j++){flag[i][j] = 0;dist[i][j] = {0,(ll)1e18,0};}	}priority_queue<node>q;q.push({1,0,p,0});dist[1][0] = {0,0,p,1}; while(q.size()){node p = q.top();q.pop();int now = p.now;ll time = p.time,coin = p.coin;int maxn = p.maxn;//	cout <<now << " " <<time <<" " <<coin << " " << maxn << "GGGG" << endl;if(now == n){ans = min(ans,p.time);return; }if(flag[now][maxn]) continue;flag[now][maxn] = 1;for(int i = 0; i < v[now].size(); i++){edge j = v[now][i];int to = j.to;ll cost = j.cost;int newmaxn;if(w[maxn] < w[now]) newmaxn = now;else newmaxn = maxn;ll newtime,newcoin;if(coin >= cost) newtime = 0,newcoin = coin - cost;else{newtime = (cost - coin + w[newmaxn] - 1) / w[newmaxn] ;newcoin = coin + newtime * w[newmaxn]  - cost; }if(dist[to][newmaxn].time > time + newtime){dist[to][newmaxn].coin = newcoin;dist[to][newmaxn].time = time + newtime;}else if(dist[to][newmaxn].time == time + newtime){dist[to][newmaxn].coin = max(dist[to][newmaxn].coin,newcoin);}q.push({to,dist[to][newmaxn].time,dist[to][newmaxn].coin,newmaxn});}}
}int main(){int t;cin >> t;while(t--){cin >> n >> m >> p;for(int i = 1; i <= n; i++){cin >> w[i];v[i].clear();}for(int i = 1; i <= m; i++){int a,b,s;cin >> a >> b >> s;v[a].push_back({b,s});}ans = 1e18;dij();if(ans > 1e17) cout << -1 << endl;else cout << ans << endl;}return 0;
} 

方式 2

使用动态规划分析该问题,直接设最少打工次数的方案为: { 1 , a 1 , a 2 , . . . , a k , n } \{1,a_1,a_2,...,a_k,n\} {1,a1,a2,...,ak,n}
但是,这个方案中每个地方都打过工,忽略了未打工的地点。因为,上一个打工点直接通过最短路可以到达下一个打工点。这样做的好处是,我们不需要一维状态去表示最高打工单价了,每一次遍历到的点,就应该是最高打工单价。
下述代码使用了 floyd 去求解任意两个顶点之间的最短路。因此,时间复杂度为 O ( n 3 + m log ⁡ n ) O(n^3+m\log n) O(n3+mlogn)

#include<bits/stdc++.h>using namespace std;typedef long long ll;
const int N = 810;
int n,m,p;struct node{int now;ll time,coin;bool operator < (const node &p)const{if(time == p.time) return coin < p.coin;return time > p.time;}
};ll e[N][N];
void floyd(){for(int k = 1; k <= n; k++){for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){e[i][j] = min(e[i][j],e[i][k] + e[k][j]);}}	}
}int flag[N],w[N];
node dist[N];
void dij(){for(int i = 1; i <= n; i++){flag[i] = 0;dist[i] = {0,(ll)1e18,0};}priority_queue<node>q;q.push({1,0,p});dist[1] = {0,0,p};while(q.size()){node p = q.top();q.pop();int now = p.now;ll time = p.time,coin = p.coin;//cout <<now << " " <<time <<" " <<coin << "GGGG" << endl;if(flag[now]) continue;flag[now] = 1;for(int i = 1; i <= n; i++){int to = i;ll cost = e[now][i];if(cost > 1e17) continue;ll newtime,newcoin;if(coin >= cost) newtime = 0,newcoin = coin - cost;else{newtime = (cost - coin + w[now] - 1) / w[now];newcoin = coin + newtime * w[now] - cost; }if(dist[to].time > dist[now].time + newtime){dist[to].coin = newcoin;dist[to].time = dist[now].time + newtime;}else if(dist[to].time == dist[now].time + newtime){dist[to].coin = max(dist[to].coin,newcoin);}q.push({to,dist[to].time,dist[to].coin});}}
}int main(){int t;cin >> t;while(t--){cin >> n >> m >> p;for(int i = 1; i <= n; i++){cin >> w[i];}for(int i = 1; i <= n; i++){for(int j = 1; j <= n; j++){e[i][j] = 1e18;} e[i][i] = 0;}for(int i = 1; i <= m; i++){int a,b,s;cin >> a >> b >> s;e[a][b] = min(e[a][b],(ll)s);}floyd();dij();if(dist[n].time > 1e17) cout << -1 << endl;else cout << dist[n].time << endl;}return 0;
} 

相关文章:

CF1801D

CF1801D 题目大意&#xff1a; n n n 个顶点&#xff0c; m m m 条边的图。你一开始在起点 1&#xff0c;拥有 P P P 枚硬币&#xff0c;通过每条 ( i , j ) (i,j) (i,j) 边都需要花费一定的硬币 s ( i , j ) s(i,j) s(i,j)。但你在每个城市 i i i 都可以打工赚硬币 w i w…...

大厂算法面试常见问题总结:高频考点与备战指南

在大厂算法面试中&#xff0c;数据结构与算法是必考的核心内容。 无论是校招还是社招&#xff0c;算法题的表现往往决定了面试的成败。 为了帮助大家更好地备战&#xff0c;本文总结了大厂算法面试中的高频考点&#xff0c;并提供了详细的备战建议&#xff0c;助你轻松应对面…...

【R语言】主成分分析与因子分析

一、主成分分析 主成分分析&#xff08;Principal Component Analysis, PCA&#xff09;是一种常用的无监督数据降维技术&#xff0c;广泛应用于统计学、数据科学和机器学习等领域。它通过正交化线性变换将&#xff08;高维&#xff09;原始数据投影到一个新的坐标系&#xff…...

解锁 AIoT 无限可能,乐鑫邀您共赴 Embedded World 2025

2025 年 3 月 11-13 日&#xff0c;全球规模最大的嵌入式展览会——Embedded World 2025 将在德国纽伦堡盛大开幕。作为物联网和嵌入式技术领域的领先企业&#xff0c;乐鑫信息科技 (688018.SH) 将展示在 AI LLM、HMI、双频 Wi-Fi 6、低功耗 MCU 和 Matter 等领域的最新技术及解…...

人工智能基础之数学基础:01高等数学基础

函数 极限 按照一定次数排列的一列数:“&#xff0c;“,…,"…&#xff0c;其中u 叫做通项。 对于数列{Un}如果当n无限增大时&#xff0c;其通项无限接近于一个常数A&#xff0c;则称该数列以A为极限或称数列收敛于A&#xff0c;否则称数列为发散&#xff0c; 极限值 左…...

【从0做项目】Java搜索引擎(8) 停用词表 正则

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 文章导读 零&#xff1a;项目结果展示 一&#xff1a;前引 二&#xff1a;停用词表 1&#xff1a;…...

线程和进程的区别

如果说一个服务器同一时刻收到了许多请求&#xff0c;针对每一个请求&#xff0c;操作系统都会产生一个进程&#xff0c;从而给这个请求提供一些服务 &#xff0c;返回响应&#xff0c;如果请求处理完了&#xff0c;这个进程就要销毁了&#xff01;如果请求很多的话&#xff0c…...

深入理解 QObject的作用

QObject 作为 Qt 库中所有对象的基类&#xff0c;其地位无可替代。几乎 Qt 框架内的每一个类&#xff0c;无论是负责构建用户界面的 QWidget&#xff0c;还是专注于数据处理与呈现的 QAbstractItemModel&#xff0c;均直接或间接继承自 QObject。这种继承体系赋予 Qt 类库高度的…...

解码 NLP:从萌芽到蓬勃的技术蜕变之旅

内容概况&#xff1a; 主要讲述NLP专栏的内容和NLP的发展及其在现代生活中的广泛应用。课程强调实践为主、理论为辅的学习方法&#xff0c;并通过多个生活场景展示了NLP技术的实际应用&#xff0c;如对话机器人、搜索引擎、翻译软件、电商推荐和智能客服等。 这边我就不多做自我…...

【核心算法篇十五】《深度解析DeepSeek遗传算法:让超参数调优从“玄学”变“科学”的终极指南》

引言:超参数调优的“炼丹困局”与破局之路 在机器学习的世界里,调参工程师常被戏称为"炼丹师"——面对动辄几十个超参数的复杂模型,我们就像古代术士守着炼丹炉,不断尝试各种参数组合,期待偶然炼出"仙丹"。传统网格搜索(Grid Search)需要遍历所有可…...

Python—变量、基本数据类型、类型的转换

文章目录 Python—变量、基本数据类型1 格式化输出2 号的使用3 变量的数据类型4 type() 函数的使用5 数据类型的基本介绍5.1 int 整型5.2 float 浮点类型5.3 bool 布尔类型5.4 str 字符串类型5.5 字符串驻留机制5.6 数据类型的转换&#xff08;1&#xff09;隐式转换&#xff…...

启明星辰规则库下载

启明星辰规则库下载 一、脚本介绍 1、背景介绍 因为项目上有启明星辰的安全设备、并且在内网无法直接连接互联网进行在线升级&#xff0c;必须使用离线升级模式&#xff0c;下载规则库升级&#xff0c;每月一更有点繁琐&#xff0c;所以写了这个b脚本&#xff0c;偷懒一下&a…...

uniapp 拖拽排序

1.拖拽排序 使用 sortablejs库 npm install sortablejs --save-dev <template><view id"list"><view v-for"(item, index) in list" :key"item.id" class"item">{{ item.name }}</view></view> </t…...

测试。。。

移动到中位数位置能保证总移动距离最小&#xff0c;数学知识 #include <iostream> #include <vector> #include <cmath> using namespace std;int main() {int n;string s;cin >> n >> s;vector<int> positions;// 记录所有1的位置for (…...

Java常用设计模式及其应用场景

1. 什么是设计模式&#xff1f; 设计模式是一个经过多次验证的、针对常见问题的可复用解决方案。设计模式并不是具体的代码实现&#xff0c;而是给出了如何解决问题的思路和结构。在实际开发过程中&#xff0c;设计模式有助于开发者快速找到合适的解决方案&#xff0c;从而减少…...

2000字,极简版华为数字化转型方法论

​作为国内科技行业的领军者&#xff0c;华为的成功经验为众多企业提供了宝贵的借鉴。本文将围绕准备、规划和执行三个阶段展开&#xff0c;结合华为的实践案例&#xff0c;深入剖析其数字化转型的方法论&#xff0c;希望能为您的企业数字化转型提供有益的参考。 一、数字化转型…...

Ubuntu:20.04更新cmake到更高版本

从输出信息可以看出&#xff0c;您当前的系统中已经安装了 cmake&#xff0c;但版本是 3.16.3&#xff0c;而您的项目需要 CMake 3.18 或更高版本。默认情况下&#xff0c;Ubuntu 20.04 的官方软件仓库中提供的 CMake 版本较低&#xff08;如 3.16.3&#xff09;&#xff0c;因…...

【SpringBoot教程】Spring Boot + MySQL + Druid连接池整合教程

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 前面毛毛张介绍过HikariCP连接池&#xff0c;今天毛毛张来介绍一下Druid连接池&#xff0c;SpringBoot 2.0以上默认使用HikariCP数据源&#xff0c;但是也要学会使用…...

基于SpringBoot实现的宠物领养系统平台功能一

一、前言介绍&#xff1a; 1.1 项目摘要 宠物领养需求增加&#xff1a;随着人们生活水平的提高和对宠物养护意识的增强&#xff0c;越来越多的人选择领养宠物作为家庭的一员。这导致了宠物领养需求的显著增加。 传统领养方式存在问题&#xff1a;传统的宠物领养方式&#xf…...

【DeepSeek 学C++】std::atomic 用于线程控制,和内存强顺序一致性

std::atomic<bool> workerTerminate_{}; std::atomic<bool> workerTerminate_{}; 是一个原子布尔变量的声明&#xff0c;变量名为 workerTerminate_。这种变量通常用于多线程编程中&#xff0c;用来控制或通知工作线程的终止。使用 std::atomic 可以确保对该变量的…...

计算存储一幅大小为 1024×10241024×1024、256 灰度级的图像所需的字节数

1. 图像的基本信息 图像分辨率&#xff1a;1024102410241024&#xff0c;表示图像有 1024 行和 1024 列&#xff0c;总像素数为&#xff1a; 102410241,048,576 像素102410241,048,576 像素 灰度级&#xff1a;256 灰度级&#xff0c;表示每个像素的灰度值可以用 256 个不同的值…...

Flutter 网络请求与数据处理:从基础到单例封装

Flutter 网络请求与数据处理&#xff1a;从基础到单例封装 在 Flutter 开发中&#xff0c;网络请求是一个非常常见的需求&#xff0c;比如获取 API 数据、上传文件、处理分页加载等。为了高效地处理网络请求和数据管理&#xff0c;我们需要选择合适的工具并进行合理的封装。 …...

从开发到部署:EasyRTC嵌入式视频通话SDK如何简化实时音视频通信的集成与应用

嵌入式设备和视频综合管理平台均支持B/S架构。在B/S架构下&#xff0c;传统的视频观看方式依赖于微软的OCX控件&#xff0c;然而OCX控件的使用正面临越来越多的挑战&#xff1a; 首先&#xff0c;用户需要安装浏览器插件、调整浏览器安全级别&#xff0c;并允许ActiveX控件弹出…...

Jeesite5:Star24k,Spring Boot 3.3+Vue3实战开源项目,架构深度拆解!让企业级项目开发效率提升300的秘密武器

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 企业级应用开发的需求日益增长。今天&#xff0c;我们要介绍的是一个在GitHub上广受好评的开源项目——Jeesite5。这不仅是一个技术框架&#xff0c;更…...

C++(23):lambda可以省略()

C越来越多的使用了lambda&#xff0c;C23也进一步的放宽了对lambda的限制&#xff0c;这一次&#xff0c;如果lambda没有参数列表&#xff0c;那么可以直接省略掉()&#xff1a; #include <iostream> using namespace std;void func() {auto f []{cout<<"in…...

vue3之echarts柱状图-圆锥加自动轮播

vue3之echarts柱状图-圆锥加自动轮播 效果&#xff1a; 版本 "echarts": "5.4.2" 核心代码&#xff1a; <template><div ref"echartRef" class"chart"></div><svg><linearGradient v-for"(item, i…...

Qt中利用httplib调用https接口

httplib中如果要调用https接口&#xff0c;需要开启OPENSSL支持&#xff0c;经过半天坑爹得摸索&#xff0c;总结下经验。 1&#xff0c;下载 并安装Win64OpenSSL 地址如下&#xff0c;我Qt版本是5.15.2 &#xff0c;openssl选择的是 64位&#xff08;Win64OpenSSL-3_3_3.msi…...

深度学习04 数据增强、调整学习率

目录 数据增强 常用的数据增强方法 调整学习率 学习率 调整学习率 ​调整学习率的方法 有序调整 等间隔调整 多间隔调整 指数衰减 余弦退火 ​自适应调整 自定义调整 数据增强 数据增强是通过对训练数据进行各种变换&#xff08;如旋转、翻转、裁剪等&#xff09;&am…...

卷积神经网络之AlexNet经典神经网络,实现手写数字0~9识别

深度学习中较为常见的神经网络模型AlexNet&#xff0c;AlexNet 是一个采用 GPU 训练的深层 CNN&#xff0c;本质是种 LeNet 变体。由特征提取层的5个卷积层两个下采样层和分类器中的三个全连接层构成。 先看原理&#xff1a; AlexNet网络特点 采用 ReLU 激活函数&#xff0c;…...

建筑兔零基础自学python记录22|实战人脸识别项目——视频人脸识别(下)11

这次我们继续解读代码&#xff0c;我们主要来看下面两个部分&#xff1b; 至于人脸识别成功的要点我们在最后总结~ 具体代码学习&#xff1a; #定义人脸名称 def name():#预学习照片存放位置path M:/python/workspace/PythonProject/face/imagePaths[os.path.join(path,f) f…...

全球化趋势下中资企业出海投资及合规运营实战分享

企业全球化布局需构建“战略-架构-合规-运营”四位一体体系&#xff0c;通过灵活的投资架构、精准的税务规划、本土化运营和ESG融合&#xff0c;实现风险可控的海外扩张。核心策略包括&#xff1a; 供应链多节点布局&#xff08;至少3个国家备份产能&#xff09;&#xff1b;融…...

2025-2-19 leetcode刷题情况(二叉树)

一、226.翻转二叉树 1.题目描述 给你一棵二叉树的根节点root&#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点 2.代码 3.思路 递归遍历&#xff08;DFS&#xff09;交换每个节点的左 / 右子节点&#xff0c;即可生成二叉树的镜像。 递归解析&#xff1a; 终止条件&a…...

Linux常见命令

文件和目录操作命令 cd&#xff1a;用于切换目录。例如&#xff0c;cd /home/user 可进入 /home/user 目录&#xff1b;cd.. 可返回上一级目录。ls&#xff1a;用于列出目录内容。ls 直接列出当前目录下的文件和文件夹&#xff1b;ls -l 以详细列表形式显示&#xff1b;ls -a 显…...

C++ 一篇读懂“值传递”和“地址传递”

让我们通过一个简单的、形象的比喻来帮助你理解“值传递”和“地址传递”是如何影响实参的。 1. 值传递 想象你有一个 **信封**&#xff08;代表变量&#xff09;&#xff0c;里面放着一张纸条&#xff08;代表数据&#xff09;。你决定把这个信封寄给一个朋友&#xff0c;让他…...

我用AI做数据分析之数据清洗

我用AI做数据分析之数据清洗 AI与数据分析的融合效果怎样&#xff1f; 这里描述自己在使用AI进行数据分析&#xff08;数据清洗&#xff09;过程中的几个小故事&#xff1a; 1. 变量名的翻译 有一个项目是某医生自己收集的数据&#xff0c;变量名使用的是中文&#xff0c;分…...

韩国哈希散列算法DHA-256

韩国哈希散列算法DHA-256 DHA-256是在2005年11月由NIST举行的Hash研讨会(Cryptographic Hash Workshop)上提出的。DHA-256压缩函数将长度为512比特的分组&#xff0c;压缩成长度为256比特的串&#xff0c;总共迭代64步&#xff0c;扩展的消息字在步函数中使用了两次。 DHA-25…...

【愚公系列】《Python网络爬虫从入门到精通》022-Splash的爬虫应用

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...

Golang深度学习

前言 在2009年&#xff0c;Google公司发布了一种新的编程语言&#xff0c;名为Go&#xff08;或称为Golang&#xff09;&#xff0c;旨在提高编程效率、简化并发编程&#xff0c;并提供强大的标准库支持。Go语言的设计者们希望通过Go语言能够解决软件开发中的一些长期存在的问…...

React(8)

封装评论列表的Item组件 实现父传子以及子组件调用父组件方法 import { useEffect, useState } from "react"; import "./index.css"; import _ from "lodash"; import classNames from "classnames"; import axios from "axio…...

自制AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有iPhone

苹果的AirTag很贵&#xff0c;虽然某强北有平价代替品&#xff0c;但是仍需要苹果设备才能绑定&#xff0c;才能查看位置。不支持安卓/鸿蒙/PC&#xff0c;也不支持集成到Home Assistant中。 AirTag 的原理 每个AirTag都会发送一个蓝牙信号&#xff0c;其可以被临近的苹果设备…...

docker修改镜像默认存储路径(基于页面迁移)

文章目录 1、停止服务2、拷贝镜像3、docker界面设置路径4、重新启动服务5、重启电脑 1、停止服务 桌面底部右键打开任务管理器 停止docker服务 2、拷贝镜像 从原目录拷贝到新的目录下&#xff0c;新的目录自己定&#xff0c;如果没有权限&#xff0c;需要先对原文件添加权限…...

10. 软件设计架构-经典架构问题

文章目录 前言一、高并发场景下的系统崩溃1. 问题描述2. 解决方案&#xff1a;3. 案例分析&#xff1a;电商秒杀系统 二、单体架构到微服务的拆分陷阱1. 问题描述2. 解决方案&#xff1a;3. 案例分析&#xff1a;在线教育平台拆分 三、分布式系统中的数据一致性难题1. 问题描述…...

Qt学习(五)自定义对话框,多窗口开发---添加设计师类, MDI多窗口开发

一 对话框 实现功能&#xff1a;打开文件&#xff0c;选择目录&#xff0c;保存文件&#xff0c;选择颜色&#xff0c;选择字体&#xff0c;输入信息&#xff0c; 消息提示框 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE na…...

【部署优化篇三】《DeepSeek边缘计算实战:把目标检测模型塞进树莓派,让AI在巴掌大的设备上“开天眼“》

“谁说只有超级计算机才能跑AI?今天咱们就要在树莓派上玩转DeepSeek目标检测,让这个巴掌大的小盒子变成会‘看’世界的智能终端!” 本文手把手教你从零开始,把最潮的目标检测模型塞进树莓派。全程高能预警,建议准备好你的树莓派4B/5和散热风扇,咱们这就开启边缘计算的魔法…...

深入浅出CSS复合选择器:掌控元素关系与层级选择

目录 前言 一、子代选择器&#xff08;Descendant Selector&#xff09; 1. 什么是子代选择器&#xff1f; 2. 基本语法 3. 示例 4. 注意事项 二、直接子元素选择器&#xff08;Child Selector&#xff09; 1. 什么是直接子元素选择器&#xff1f; 2. 基本语法 3. 示例…...

LLM 推理中推理-时间计算技巧

25年2月来自香港科技大学广州分校的论文“Bag of Tricks for Inference-time Computation of LLM Reasoning”。 随着大语言模型 (LLM) 的进步&#xff0c;解决复杂的推理任务越来越受到关注。推理-时间计算方法&#xff08;例如 Best-of-N、波束搜索等&#xff09;特别有价值…...

【模板】图论 最短路 (Floyd+SPFA+Dijkstra)

FloydSPFADijkstra 温故而知新&#xff0c;这三种算法都是求最短路问题常用的算法&#xff08;特别是Dijkstra) 1.Floyd &#xff08;多源最短路&#xff09; 基于动态规划思想&#xff0c;时间复杂度为 O ( N 3 ) O(N^3) O(N3) 较高。 注意点&#xff1a; 初始化距离为INF…...

vite-vue-ts使用arco-design-vue定制主题的后动态变更主题思路

定制主题的后动态变更主题思路 安装依赖与主题定制动态变更主题过程尝试修改主题色&#xff08;结果失败&#xff09;尝试修改主题色&#xff08;结果成功&#xff0c;但是hover的主题色没有变&#xff0c;未覆盖10个梯度的色值&#xff09;根据主题色实现10个梯度颜色实现10个…...

递归爬取网页测试

我们正在做基于大模型的数据分析平台。 当前需要测试ezdata的递归爬取功能&#xff0c;爬取到第几层 测试网址 https://blog.csdn.net/m0_68177611/article/details/144936089...

【论文学习】RVS-FDSC:一种基于四方向条带卷积的视网膜血管分割方法以增强特征提取

写在前面&#xff1a;本博客仅作记录学习之用&#xff0c;部分图片来自网络&#xff0c;如需引用请注明出处&#xff0c;同时如有侵犯您的权益&#xff0c;请联系删除&#xff01; 文章目录 前言论文论文内容RSC模块MSPF2 模块RPDA模块 实验效果 总结互动致谢参考往期回顾 前言…...