数据结构与算法之美笔记(十)几种基本算法
贪心算法
作者总结一下贪心算法解决问题的步骤
- 看到以下类型题目要联想到贪心:我们规定了限制值和期望值,并要求在满足限制值的情况下通过选取几个数据使期望最大化
- 我们尝试看下这个问题是否可以用贪心算法解决,即操作为每次选择当前情况下,在对限制值同等贡献量的情况下,对期望值贡献最大的数据。
- 我们举几个例子看下贪心算法产生的结果是否是最优的。大部分情况下,举几个例子验证一下就可以了。严格地证明贪心算法的正确性,是非常复杂的,需要涉及比较多的数学推理。而且,从实践的角度来说,大部分能用贪心算法解决的问题,贪心算法的正确性都是显而易见的,也不需要严格的数学推导证明。
作者出的几个便于入门理解的例题:
-
分糖果:m个糖果、n个孩子,糖果数比孩子数少,糖果大小不均,为s1、s2、s3…孩子的需求也不同,为g1、g2、g3…,要满足一个孩子的话,即给他的糖果大小必须大于等于他的需求。求满足的孩子书最多的方案。
答:我们很容易发现,如果小糖果能满足一个孩子,就不需要给他大糖果了,因为需求大的孩子不能吃小糖果,但需求小的孩子都能吃。所以,我们可以从需求小的孩子开始分配糖果,每次从剩下的孩子中,找出对糖果大小需求最小的,然后发给他剩下的糖果中能满足他的最小的糖果,这样得到的分配方案,也就是满足的孩子个数最多的方案。 -
钱币找零
我们有1元、2元、5元、10元、20元、50元、100元这些面额的纸币,它们的张数分别是c1、c2、c5、c10、c20、c50、c100。我们现在要用这些钱来支付K元,最少要用多少张纸币呢?
答:先用大面额的,如果面额大于剩下要付的钱或者张数为0,就用面额较小的 -
区间覆盖
假设我们有n个区间,区间的起始端点和结束端点分别是[l1, r1],[l2, r2],[l3, r3],……,[ln, rn]。我们从这n个区间中选出一部分区间,这部分区间满足两两不相交(端点相交的情况不算相交),最多能选出多少个区间呢?
这个问题的解决思路是这样的:我们假设这n个区间中最左端点是lmin,最右端点是rmax。这个问题就相当于,我们选择几个不相交的区间,从左到右将[lmin, rmax]覆盖上。我们按照起始端点从小到大的顺序对这n个区间排序。
我们每次选择的时候,左端点跟前面的已经覆盖的区间不重合的,右端点又尽量小的,这样可以让剩下的未覆盖区间尽可能的大,就可以放置更多的区间。
贪心算法实现哈夫曼编码
哈夫曼编码是一种十分有效的编码方法,广泛用于数据压缩中
哈夫曼编码不仅会考察文本中有多少个不同字符,还会考察每个字符出现的频率,根据频率的不同,选择不同长度的编码。哈夫曼编码试图用这种不等长的编码方法,来进一步增加压缩的效率。
由于使用了不等长编码,为了避免解压缩过程中的歧义,霍夫曼编码要求各个字符的编码之间,不会出现某个编码是另一个编码前缀的情况。
下面两张图是哈夫曼树的构造过程
- 每次拿出优先队列(小顶堆)中的前两个元素,并将他们的和作为他们两个结点的父节点,并向优先队列中放入这个父节点的值,遵守左子结点比右子结点小的规则,就得到了下面这棵树
- 将所有指向左子结点的边赋权值0,指向右子结点的边赋权值为1,那从根节点到叶节点的路径就是叶节点对应字符的霍夫曼编码。
分治算法
分治:分而治之 ,也就是将原问题划分成n个规模较小,并且结构与原问题相似的子问题,递归地解决这些子问题,然后再合并其结果,就得到原问题的解。
分治算法是一种处理问题的思想,递归是一种编程技巧。实际上,分治算法一般都比较适合用递归来实现。
分治算法的递归实现中,每一层递归都会涉及这样三个操作:
- 分解:将原问题分解成一系列子问题;
- 解决:递归地求解各个子问题,若子问题足够小,则直接求解;
- 合并:将子问题的结果合并成原问题。
分治算法能解决的问题,一般需要满足下面这几个条件:
- 原问题与分解成的小问题具有相同的模式;
- 原问题分解成的子问题可以独立求解,子问题之间没有相关性,这一点是分治算法跟动态规划的明显区别
- 具有分解终止条件,也就是说,当问题足够小时,可以直接求解;
- 可以将子问题合并成原问题,而这个合并操作的复杂度不能太高,否则就起不到减小算法总体复杂度的效果了。
应用举例:
- 编程求出一组数据的有序对个数或者逆序对个数
先放一下归并排序时的合并数组操作中如何进行逆序对个数的求
原数组为[1,5,6,2,3,4],我们这里是分为两个子数组arr1=[1,5,6]和arr2=[2,3,4]并进行两个有序数组的合并
我们往辅助数组里放入arr1元素不管,但是放入arr2时,因为arr1还有两个数没放,意思是2前面还有两个比他大的数,即这里能得到两个逆序对,原理就这样
然后在整个递归的回溯过程中累加这个合并过程中得到的逆序对个数,就得到了整个数组的逆序数
关于作者留的问题之一:二维平面上有n个点,如何快速计算出两个距离最近的点对?
我看了博客说的好像是把点按x轴或y轴二分,求出二分不是会出来两边嘛,假设是按x轴二分,那就求左边的距离最近的点对和右边的以及横跨左右的,然后在比较求出这个父平面的距离最近的点对,这就解决了一个子问题。然后整个数组是要用分治的,其实基本思想还就是分治算法。
分治思想在海量数据处理中的应用
比如,给10GB的订单文件按照金额排序这样一个需求,如果机器只有2G内存,就不能直接全部读取再排序。我们可以把数据划分为小的数据集合,在内存中就可以处理这些小集合了,再不断整合成大的数据集合。而且,利用这种分治的处理思路,不仅仅能克服内存的限制,还能利用多线程或者多机处理,加快处理的速度。
回溯算法
先放例题
- 01背包
如果用回溯法穷举对每个物品进行选或不选的所有情况,即便可以有一点剪枝的方法,但是我们还是要发现,有些子问题的求解是重复的,比如图中f(2, 2)和f(3,4)都被重复计算了两次。
我们用一个二维数组states[n][w+1],来记录每层可以达到的不同状态。
第0个(下标从0开始编号)物品的重量是2,要么装入背包,要么不装入背包,决策完之后,会对应背包的两种状态,背包中物品的总重量是0或者2。我们用states[0][0]=true和states[0][2]=true来表示这两种状态。
下面为整个过程,你可以看看。图中0表示false,1表示true。我们只需要在最后一层,找一个值为true的最接近w(这里是9)的值,就是背包中物品总重量的最大值。
我们把问题分解为多个阶段,每个阶段对应一个决策。我们记录每一个阶段可达的状态集合(去掉重复的),然后通过当前阶段的状态集合,来推导下一个阶段的状态集合,动态地往前推进,这也是动态规划这个名字的由来,
尽管动态规划的执行效率比较高,但是就刚刚的代码实现来说,我们需要额外申请一个n二维数组,对空间的消耗比较多。所以,有时候,我们会说,动态规划是一种空间换时间的解决思路。我们其实还可以用一个一维数组,具体的可以去看dp的空间优化
“一个模型三个特征”理论讲解
解决动态规划问题,一般有两种思路。作者把它们分别叫作,状态转移表法和状态转移方程法。
- 状态转移表法
1.1 当我们拿到问题的时候,我们可以先用简单的回溯算法解决,然后定义状态,每个状态表示一个节点,然后对应画出递归树。从递归树中,我们很容易可以看出来,是否存在重复子问题,以及重复子问题是如何产生的。以此来寻找规律,看是否能用动态规划解决。
1.2 我们先画出一个状态表。状态表一般都是二维的,所以你可以把它想象成二维数组。其中,每个状态包含三个变量,行、列、数组值。我们根据决策的先后过程,从前往后,根据递推关系,分阶段填充状态表中的每个状态。最后,我们将这个递推填表的过程,翻译成代码,就是动态规划代码了。
尽管大部分状态表都是二维的,但是如果问题的状态比较复杂,需要很多变量来表示,那对应的状态表可能就是高维的,比如三维、四维。那这个时候,我们就不适合用状态转移表法来解决了。一方面是因为高维状态转移表不好画图表示,另一方面是因为人脑确实很不擅长思考高维的东西。
例子:
从图中,我们看出,尽管(i, j, dist)不存在重复的,但是(i, j)重复的有很多。对于(i, j)重复的节点,我们只需要选择dist最小的节点,继续递归求解,其他节点就可以舍弃了。
既然存在重复子问题,我们就可以尝试看下,是否可以用动态规划来解决呢?
我们画出一个二维状态表,表中的行、列表示棋子所在的位置,表中的数值表示从起点到这个位置的最短路径。我们按照决策过程,通过不断状态递推演进,将状态表填好。为了方便代码实现,我们按行来进行依次填充。
- 状态转移方程法
状态转移方程是解决动态规划的关键。如果我们能写出状态转移方程,那动态规划问题基本上就解决一大半了,而翻译成代码非常简单。但是很多动态规划问题的状态本身就不好定义,状态转移方程也就更不好想到。
课后练习:
如果我们要支付w元,求最少需要多少个硬币。比如,我们有3种不同的硬币,1元、3元、5元,我们要支付9元,最少需要3个硬币(3个3元的硬币)。
答:可认为是爬楼梯模型,即dp[9]=1+max(dp[8],dp[6],dp[4])
小总结
尽管动态规划比回溯算法高效,但是,并不是所有问题,都可以用动态规划来解决。能用动态规划解决的问题,需要满足三个特征,最优子结构、无后效性和重复子问题。在重复子问题这一点上,动态规划和分治算法的区分非常明显。分治算法要求分割成的子问题,不能有重复子问题,而动态规划正好相反,动态规划之所以高效,就是因为回溯算法实现中存在大量的重复子问题。
贪心算法实际上是动态规划算法的一种特殊情况。它解决问题起来更加高效,代码实现也更加简洁。不过,它可以解决的问题也更加有限。它能解决的问题需要满足三个条件,最优子结构、无后效性和贪心选择性(这里我们不怎么强调重复子问题)。
动态规划实战:
- 如何量化两个字符串的相似度?
有一个非常著名的量化方法,那就是编辑距离(Edit Distance)。
- 顾名思义,编辑距离指的就是,将一个字符串转化成另一个字符串,需要的最少编辑操作次数(比如增加一个字符、删除一个字符、替换一个字符)。编辑距离越大,说明两个字符串的相似程度越小;相反,编辑距离就越小,说明两个字符串的相似程度越大。对于两个完全相同的字符串来说,编辑距离就是0。
- 根据所包含的编辑操作种类的不同,编辑距离有多种不同的计算方式,比较著名的有莱文斯坦距离(Levenshtein distance)和最长公共子串长度(Longest common substring length)。其中,莱文斯坦距离允许增加、删除、替换字符这三个编辑操作,最长公共子串长度只允许增加、删除字符这两个编辑操作。
- 而且,莱文斯坦距离和最长公共子串长度,从两个截然相反的角度,分析字符串的相似程度。莱文斯坦距离的大小,表示两个字符串差异的大小;而最长公共子串的大小,表示两个字符串相似程度的大小。
如何编程计算莱文斯坦距离?
递归到某一状态时:
- 如果a[i]与b[j]匹配,我们递归考察a[i+1]和b[j+1]。
- 如果a[i]与b[j]不匹配,那我们有多种处理方式可选:
- 可以删除a[i],然后递归考察a[i+1]和b[j];
- 可以删除b[j],然后递归考察a[i]和b[j+1];
- 可以在a[i]前面添加一个跟b[j]相同的字符,然后递归考察a[i]和b[j+1];
- 可以在b[j]前面添加一个跟a[i]相同的字符,然后递归考察a[i+1]和b[j];
- 可以将a[i]替换成b[j],然后递归考察a[i+1]和b[j+1]。
- 可以将b[j]替换成a[i],然后递归考察a[i+1]和b[j+1]。
根据回溯算法的代码实现,我们可以画出递归树,看是否存在重复子问题。如果存在重复子问题,那我们就可以考虑能否用动态规划来解决;如果不存在重复子问题,那回溯就是最好的解决方法。
在递归树中,每个节点代表一个状态,状态包含三个变量(i, j, edist),其中,edist表示处理到a[i]和b[j]时,已经执行的编辑操作的次数。
在递归树中,(i, j)两个变量重复的节点很多,比如(3, 2)和(2, 3)。对于(i, j)相同的节点,我们只需要保留edist最小的,继续递归处理就可以了,剩下的节点都可以舍弃。所以,状态就从(i, j, edist)变成了(i, j, min_edist),其中min_edist表示处理到a[i]和b[j],已经执行的最少编辑次数。
可得到状态转移方程:
如果:a[i]!=b[j]a[i]!=b[j]a[i]!=b[j],那么:
minEdist(i,j)=min(minEdist(i−1,j)+1,minEdist(i,j−1)+1,minEdist(i−1,j−1)+1)minEdist(i, j)=min(minEdist(i-1,j)+1, minEdist(i,j-1)+1, minEdist(i-1,j-1)+1)minEdist(i,j)=min(minEdist(i−1,j)+1,minEdist(i,j−1)+1,minEdist(i−1,j−1)+1)
如果:a[i]==b[j]a[i]==b[j]a[i]==b[j],那么:
minEdist(i, j)就等于: minEdist(i,j)=min(minEdist(i−1,j)+1,minEdist(i,j−1)+1,minEdist(i−1,j−1))minEdist(i, j)=min(minEdist(i-1,j)+1, minEdist(i,j-1)+1,minEdist(i-1,j-1))minEdist(i,j)=min(minEdist(i−1,j)+1,minEdist(i,j−1)+1,minEdist(i−1,j−1))
其中,minminmin表示求三数中的最小值。
如何编程计算最长公共子串长度?
最长公共子串作为编辑距离中的一种,只允许增加、删除字符两种编辑操作。
这里定义每个状态还是包括三个变量(i, j, max_lcs),max_lcs表示a[0…i]和b[0…j]的最长公共子串长度。
我们从a[0]和b[0]开始,依次考察两个字符串中的字符是否匹配。
- 如果a[i]与b[j]互相匹配,我们将最大公共子串长度加一,并且继续考察a[i+1]和b[j+1]。
- 如果a[i]与b[j]不匹配,最长公共子串长度不变,这个时候,有两个不同的决策路线:
2.1 删除a[i],或者在b[j]前面加上一个字符a[i],然后继续考察a[i+1]和b[j];
2.2 删除b[j],或者在a[i]前面加上一个字符b[j],然后继续考察a[i]和b[j+1]’
即状态转移方程为:
如果:a[i]==b[j],那么:
max(maxLcs(i−1,j−1)+1,maxLcs(i−1,j),maxLcs(i,j−1));max(maxLcs(i-1,j-1)+1, maxLcs(i-1, j),maxLcs(i, j-1));max(maxLcs(i−1,j−1)+1,maxLcs(i−1,j),maxLcs(i,j−1));如果:a[i]!=b[j],那么:
max(maxLcs(i−1,j−1),maxLcs(i−1,j),maxLcs(i,j−1));max(maxLcs(i-1,j-1), maxLcs(i-1, j), maxLcs(i, j-1));max(maxLcs(i−1,j−1),maxLcs(i−1,j),maxLcs(i,j−1));其中maxmaxmax表示求三数中的最大值。
如何实现搜索引擎中的拼写纠错功能
拼写纠错最基本的原理:
当用户在搜索框内,输入一个拼写错误的单词时,我们就拿这个单词跟词库中的单词一一进行比较,计算编辑距离,将编辑距离最小的单词,作为纠正之后的单词,提示给用户。
不过,真正用于商用的搜索引擎,拼写纠错功能显然不会就这么简单。一方面,单纯利用编辑距离来纠错,效果并不一定好;另一方面,词库中的数据量可能很大,搜索引擎每天要支持海量的搜索,所以对纠错的性能要求很高。
- 针对纠错效果的几种优化思路:
- 我们并不仅仅取出编辑距离最小的那个单词,而是取出编辑距离最小的TOP 10,然后根据其他参数(如搜索频率),决策选择哪个单词作为拼写纠错单词。
- 我们还可以用多种编辑距离计算方法,然后取交集,用交集的结果,再继续优化处理。
- 统计用户的搜索日志,得到最常被拼错的单词列表,以及对应的拼写正确的单词。搜索引擎在拼写纠错的时候,首先在这个最长被拼错单词列表中查找。如果一旦找到,直接返回对应的正确的单词。这样纠错的效果非常好。
- 我们还有更加高级一点的做法,引入个性化因素。针对每个用户,维护这个用户特有的搜索喜好,也就是常用的搜索关键词。当用户输入错误的单词的时候,我们首先在这个用户常用的搜索关键词中,计算编辑距离,查找编辑距离最小的单词。
- 针对纠错性能的优化思路
-
如果纠错功能的TPS(系统吞吐量)不高,我们可以部署多台机器,每台机器运行一个独立的纠错功能。当有一个纠错请求的时候,我们通过负载均衡,分配到其中一台机器,来计算编辑距离,得到纠错单词。
-
如果纠错系统的响应时间太长,也就是,每个纠错请求处理时间过长,我们可以将纠错的词库,分割到很多台机器。当有一个纠错请求的时候,我们就将这个拼写错误的单词,同时发送到多台机器,让多台机器并行处理,分别得到编辑距离最小的单词,然后再比对合并,最终决定出一个最优的纠错单词。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 环境搭建-Node.js
目录 1、简介 2、安装 本篇主要讲解在 CentOS 环境下安装 Node.js。 1、简介 Node.js 发布于2009年5月,由 Ryan Dahl 开发,是一个基于 Chrome V8 引擎的 JavaScript 运行环境,使用了一个事件驱动、非阻塞式 I/O 模型,让 JavaSc…...
2024/5/8 1:41:35 - eclipse安装问题
记录一下自己遇到的问题 新安装的jdk应该是和之前的jdk有冲突,将之前的jdk全部删除,按照正常的流程就可:正常配置好环境变量-再打开eclipse即可 但是之前用旧版本jdk的myeclipse(javaweb用的破解版(配置过程没有用到…...
2024/5/8 2:42:49 - JZ74和为S的连续正数序列
链接: https://www.nowcoder.com/practice/c451a3fd84b64cb19485dad758a55ebe?tpId13&tqId11194&rp1&ru/ta/coding-interviews&qru/ta/coding-interviews/question-ranking 描述: 示例: 示例缺陷: 示例中的9对…...
2024/5/7 22:53:14 - lnmp proftpd FTP用户修改密码
lnmp proftpd FTP 用户修改密码 官方没有说明如何修改 /usr/local/pureftpd/bin/pure-pw passwd 用户账号生成数据库文件 /usr/local/pureftpd/bin/pure-pw mkdbFTP 其他的操作 lnmp ftp {add|list|del} 进行FTP账号管理。...
2024/5/8 1:51:53 - 路径总和python(leetcode112)
# 112. 路径总和 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution(object):def hasPathSum(self, ro…...
2024/4/7 22:34:52 - 2022牛客寒假算法基础集训营4,子序列权值乘积(枚举,欧拉降幂)
传送门 思路: 我们可以观察到,当排序后,如果确定了最大值和最小值,它们中间的数取不取对结果没有影响,因此,通过这种方式可以枚举最大值和最小值,中间的部分规约在一起,化零为整&a…...
2024/4/13 10:17:58 - 如何让机器人更像“人”,让slam更灵活?
机器人想实现自主移动和导航必须知道自己在哪,周围什么情况等;SLAM就是帮助机器人实现定位与地图构建功能的一种方案或技术。SLAM的全称为Simultaneous Localization And Mapping即「同时定位与地图构建」,最早用于军事核潜艇中的海底定位。 …...
2024/4/13 10:17:48 - java大致学习流程(SpringBoot)
最常用的技术框架 一、SpringBoot基础 二、SpringBoot的配置以及原理 三、SpringBoot 持久层操作 四、SpringBoot Web开发 五、SpringBoot 缓存 六、SpringBoot 消息 七、SpringBoot 检索 八、SpringBoot 任务 九、SpringBoot 安全 十、SpringBoot Zookeeper 分布式…...
2024/4/22 14:55:01 - 更改redis.conf后,成功启动服务,但是启动redis-cli出 Could not connect to Redis at 127.0.0.1:6379: Connection refused
解决方案: ./redis-cli -h 带上更改后的主机名...
2024/5/7 18:35:05 - 陈根:元宇宙之路,比芯片更遥远
最近元宇宙不但成为了媒体关注的焦点,也成为了各地方政府产业规划的焦点。上海市电子信息产业发展“十四五”规划明确提出,要支持满足元宇宙要求的技术攻关,并鼓励元宇宙在公共服务、社交娱乐、工业制造、电子游戏等领域的应用;…...
2024/5/7 21:16:41 - 【单片机学习】51单片机【串口】,详细介绍
文章目录一、先知先会1、计算串行通信基础2、串行通信的基本概念(1)、异步通信与同步通信a.异步通信b、同步通信(2)、串行通信的传输方向(3)、串行通信常见的错误校验(4)、传输速率(5)、传输距离与传输速率的关系(6)、串行通信接口标准a.RS-232C接口<1>、机械特性<2&g…...
2024/4/7 22:34:46 - 14python模块
python 文章目录python前言一、自定义模块1.导入项目结构2.python模块默认路径3.导入嵌套文件的模块4.导入的方式5.__name__二、第三方模块1.pip安装2.镜像源3.源码安装4.wheel安装第三方包三、内置模块1.os获取当前绝对路径获取当前文件的某级目录拼接路径路径是否存在创建文件…...
2024/4/15 14:46:18 - 单链表相关的算法题
package com.iflytek.linklist;import java.util.Stack;public class LinkDemo {//1) 求单链表中有效节点的个数public static int getNodesNum(SingleLinkList linkList) {int length 0;//定义一个辅助的变量, 这里我们没有统计头节点HeroNode head linkList.getHead();if (…...
2024/4/18 17:01:29 - CString与const char*互转 深入详解
很多网上的文章只讲了用法,但是没有真正深入地去讲CString转换为啥可以这样做 CString其实是一个模板CStringT的别名 typedef ATL::CStringT< TCHAR, StrTraitMFC< TCHAR > > CString; 根据工程设置是Unicode还是多字节,存放的字符串TCHAR不…...
2024/5/8 1:15:04 - 中国铁路信息化行业规划布局及投投资可行性分析报告2022-2028年版
中国铁路信息化行业规划布局及投投资可行性分析报告2022-2028年版 【报告目录】: 1章:中国铁路信息化行业的发展综述1.1 铁路信息化行业的相关概述 1.1.1 铁路信息化行业的概念界定 1.1.2 铁路信息化市场分类 1.1.3 铁路信息化市场发展现状 1.1.4 铁路信息化特…...
2024/4/13 10:18:38 - 第八篇:qt写ui转py文件之pyside2转py(全步骤)
之前跟着网站学习说:pyside的前景会超过pyqt5,因此就用pyside2写了ui文件(因为咱也不知道其中道理,盲目跟从之),想要给控件绑定槽函数(触发函数时),发现需要qt的u&#x…...
2024/5/7 21:57:29 - Linux实际工作中常用命令(待补充)
1.防火墙 1)查看防火墙状态 systemctl status firewalld2)关闭防火墙 systemctl stop firewalld3)打开防火墙 systemctl start firewalld2.端口及服务 1)服务启动/关闭/重启 service 服务名(例:tomcat1) start/stop/restart2)查看端口状态 netstat -anp |gre…...
2024/5/7 19:39:08 - react源码解析19.手写迷你版react
react源码解析19.手写迷你版react 视频讲解(高效学习):进入学习 迷你react和真正的源码有哪些区别呢 在render阶段我们遍历了整颗Fiber树,在源码中如果节点什么都没改变会命中优化的逻辑,然后跳过这个节点的遍历com…...
2024/5/8 3:40:09 - 小米游戏鼠标Lite RGB 评测
小米游戏鼠标 Lite 并开启众筹,采用 72g 轻量化设计机身、TTC 防尘金微动,支持 5 挡可调 DPI,零售价 129 元,众筹价 99 元 小米游戏鼠标Lite RGB更多使用感受和评价:http://xiaomi.adiannao.cn/1 这款游戏鼠标重量约…...
2024/4/13 10:18:53 - 【spring】循环依赖代理对象
本文参考:https://www.bilibili.com/video/BV15b4y117RJ?p176 advice本质是实现advisoradvice可以有多个通知,advisor只有一个methodintercepter属于环绕通知注解形式的切面advisor无论before还是after都会转换成环绕通知并特殊处理注解实现切面编程需…...
2024/4/13 10:18:53
最新文章
- 怎么获取Unity的安装目录
现成api EditorApplication.applicationPath 获取结果:C:/Program Files/Unity/Hub/Editor/2021.3.10f1/Editor/Unity.exe EditorApplication.applicationContentsPath 获取结果:C:/Program Files/Unity/Hub/Editor/2021.3.10f1/Editor/Data...
2024/5/8 4:32:37 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - OpenHarmony开发-连接开发板调试应用
在 OpenHarmony 开发过程中,连接开发板进行应用调试是一个关键步骤,只有在真实的硬件环境下,我们才能测试出应用更多的潜在问题,以便后续我们进行优化。本文详细介绍了连接开发板调试 OpenHarmony 应用的操作步骤。 首先…...
2024/5/5 8:53:16 - 【stm32】I2C通信协议
【stm32】I2C通信协议 概念及原理 如果我们想要读写寄存器来控制硬件电路,就至少需要定义两个字节数据 一个字节是我们要读写哪个寄存器,也就是指定寄存器的地址 另一个字节就是这个地址下存储寄存器的内容 写入内容就是控制电路,读出内容就…...
2024/5/4 15:30:22 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/7 5:50:09 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/7 9:45:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/7 14:25:14 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57