梯度 算法 深度

算法篇---java算法应用

算法篇 java算法应用 算法应用之百钱买白鸡 (程序员副业--编程学习--业务交流--公众号: 匠心程序定制) 案列说明:主要内容是:公鸡5元一只,母鸡3元一只,小鸡1元三只,问100元怎样可以买100鸡? 思想:想要实现此算法,只要明白各种条件的关系即可,而且知道公鸡最多买20只,母鸡最多买33 ......
算法 java

Floyd算法

Floyd算法 正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。 Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点 ......
算法 Floyd

1.NCC算法实现及其优化[基础实现篇]

NCC算法实现及其优化 本文将集中探讨一种实现相对简单,效果较好的模板匹配算法(NCC) \[R(x,y)= \frac{ \sum_{x',y'} (T'(x',y') \cdot I'(x+x',y+y')) }{ \sqrt{\sum_{x',y'}T'(x',y')^2 \cdot \sum ......
算法 基础 NCC

Matching Network算法概述

什么是Matching Network 1. 论文地址:Matching Networks for One Shot Learning 2. 简介:基于Metric Learning部分思想,使用外部记忆来增强网络,提高网络的学习能力。 3. 创新点 借鉴了注意力和外部记忆方面的经验来搭建网络 基于 ......
算法 Matching Network

棋盘覆盖——分治算法的典例

问题描述 在一个\({2^k} \times {2^k}(K \geqslant 0)\) 个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格。 棋盘覆盖问题要求用图所示的4种不同形状的\(L\)型骨牌覆盖给定棋盘上除特殊方格以外的所有方格,且任何2个\(L\)型骨牌不得重叠覆盖。 ......
棋盘 算法

贪心算法实现

贪心算法 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等 ......
算法

算法训练day39LeetCode738.968.

算法训练day39LeetCode738.968. 738.单调递增的数字 题目 738. 单调递增的数字 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { public: int monotoneIncreasingDigi ......
算法 LeetCode day 738 968

部分算法总结

小部分算法总结 部分题目请见: https://github.com/ZhangFirst1/Algorithm-problem-code 异或运算 a^= b相当于a=a^b,将十进制数字转化为二进制进行运算,相同为0,相异为1,0和任何数异或运算都是原来的那个数。 可以用来判断数组中哪个数字只出 ......
算法 部分

10.21算法

颠倒二进制位颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用二进制 ......
算法 10.21 10 21

常见密码学算法简介

1. 常见对称加解密算法 对称加密算法是一种加密算法,使用相同的密钥来加密和解密数据。这些算法在保护数据安全性方面起着重要作用。下面是一些常用的对称加密算法的介绍: 1.1 Advanced Encryption Standard (AES) 简介: AES 是一种高级加密标准,用于保护敏感数据。它 ......
密码学 算法 常见 密码 简介

协同过滤推荐算法总结

推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1. 推荐算法概述 推荐算法是非常古老的,在机器学习还没有兴起的时候 ......
算法

文心一言 VS 讯飞星火 VS chatgpt (117)-- 算法导论10.3 2题

二、用go语言,对一组同构对象用单数组表示法实现,写出过程ALLOCATE-OBJECT和FREE-OBJECT。 文心一言: 在Go语言中,我们通常使用指针和结构体来表示和操作复杂的数据结构。对于一组同构对象,我们可以使用一个数组来存储它们的指针,每个指针指向一个对象。下面是使用Go语言实现ALL ......
文心 导论 算法 chatgpt VS

算法训练day38 LeetCode435.763.56.

算法训练day38 LeetCode435.763.56. 435.无重叠区间 题目 435. 无重叠区间 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 首先按左边界排列范围 再将长的重叠区间去除 并记录去除个数 class Solution { publ ......
算法 LeetCode day 435 763

遗传算法 (解决TSP旅行商问题) 附Python代码

1.什么是TSP旅行商问题? 1.1 问题本质 旅行商问题是一个经典的组合优化问题。 问题实质是一个带权完全无向图,找一个权值最小的Hamilton回路。( 即点到点的最优路径问题 ) 早期的研究者使用精确算法求解该问题,常用的方法包括:分枝定界法、线性规划法、动态规划法等。但是,随着问题规模的增大 ......
算法 代码 Python 问题 TSP

快速排序算法模板+内置函数

思想: 确定分界点 调整区间 ,小于分界点的在左边区间,大于分界点在右边区间。 递归处理左右两边。 void quick_sort(int q[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r > ......
算法 函数 模板

Pytorch深度学习环境配置 | NVIDIA-driver + Pytorch + miniconda

为了验证我的环境配置方法没有问题,我特意租了两小时云服务器来从0配置环境。 云服务器厂家:Ucloud ubuntu22.04 3090 * 2 1. 装 NVIDIA-driver 参考:https://zhuanlan.zhihu.com/p/366882419 1.1. 下载驱动 nvidia ......

进程调度算法--先来先服务算法-短进程优先算法

常用的调度算法 先来先服务调度算法(FCFS):先到达先执行,非抢占式的,同时就绪时仲裁规则是随机的。 短进程优先调度算法(SPF):从就绪队列中找运行时间最短的进程,非抢占式的,仲裁规则是按照时间先后顺序或随机方式。 先来先服务调度算法(FCFS) #include<stdio.h>#includ ......
算法 进程

算法学习笔记(31): 李超线段树

李超线段树是一种按照值域维护一次函数最值的数据结构,其核心在于一次函数和值域的双单调性。 如果预先对于值域离散也可以维护其最值。 也就是说只要满足时一次函数,以及下标的单调性都可以利用李超线段树维护。 李超线段树就是利用线段树来维护一次函数的最值,每一个结点对应了一个区间 \([l, r]\)。 我 ......
线段 算法 笔记 31

第九节:单点登录方案深度剖析

一. 二. 三. ! 作 者 : Yaopengfei(姚鹏飞) 博客地址 : http://www.cnblogs.com/yaopengfei/ 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权 ......
深度 方案

查找算法

顺序查找(线性查找) 思想:根据列表下标的顺序,一步步查找列表中的元素是否有与需查找元素相对应,有则返回下标。 代码实现 # 顺序查找 def linear_search(li,e): for ind,val in enumerate(li): if val == e: return ind els ......
算法

《动手学深度学习 Pytorch版》 9.8 束搜索

本节将介绍几大: 贪心搜索(greedy search)策略 穷举搜索(exhaustive search) 束搜索(beam search) 9.8.1 贪心搜索 贪心搜索已用于上一节的序列预测。对于输出序列的每一时间步 \(t'\),都从 \(\boldsymbol{Y}\) 中找到具有最高条件 ......
深度 Pytorch 9.8

Winform中加密时提示此实现不是Windows平台FIPS验证的加密算法的一部分

场景 Java与Winform进行AES加解密数据传输的工具类与对应关系和示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/129357081 winform中使用如上进行加密时提示: 实现不是Windows平台FIPS验证的 ......
算法 Winform Windows 平台 FIPS

三种基本排序算法:桶排序,冒泡排序,快速排序

第一节 桶排序 (最快最简单的排序) 1、概括 就实现申请大小为的数组为例,int a[11]。首先将所有变量初始化为0,表示还没有出现过任何数字。 下面开始处理得到的数字: 若存入的第一个数字是5,就将相对应的a[5]的值在原来的基础上增加1.即将a[5]的值从0改为1,表示5出现过一次。 若第二 ......
算法

扩展欧几里得算法(exgcd)推导

给定 \(a\),\(b\),求解 \(ax+by=gcd(a,b)\) 的整数解。 考虑递归求解: 边界: 当 \(b=0\) 时,\(gcd(a,b)=a\),即 \(ax+by=a\),容易找到一组特殊解 \(x=1,y=0\)。 考虑一般情况: \(ax+by=gcd(a,b)\) \(ax ......
算法 exgcd

《动手学深度学习 Pytorch版》 9.6 编码器-解码器架构

为了处理这种长度可变的输入和输出, 可以设计一个包含两个主要组件的编码器-解码器(encoder-decoder)架构: 编码器(encoder):它接受一个长度可变的序列作为输入,并将其转换为具有固定形状的编码状态。 解码器(decoder):它将固定形状的编码状态映射到长度可变的序列。 9.6. ......
编码器 解码器 架构 深度 编码

《动手学深度学习 Pytorch版》 9.7 序列到序列学习(seq2seq)

循环神经网络编码器使用长度可变的序列作为输入,将其编码到循环神经网络编码器固定形状的隐状态中。 为了连续生成输出序列的词元,独立的循环神经网络解码器是基于输入序列的编码信息和输出序列已经看见的或者生成的词元来预测下一个词元。 要点: “<eos>”表示序列结束词元,一旦输出序列生成此词元,模型就会停 ......
序列 seq 深度 Pytorch seq2seq

排序算法总结

low B三人组 冒泡排序 思想:列表相邻元素两两对比,每趟结束都会产生一个最大/最小元素 代码实现 def bubble_sort(li): for i in range(0,len(li)-1): # 趟数 exchange = 0 # 设置一个标识符,当有一趟无变化时,列表已有序,停止排序 f ......
算法

10.20算法

位1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还 ......
算法 10.20 10 20

理解算法(1): 最大值,最小值,和堆。

最近总想,算法好像没有数学那样直观,例如方程可以解决一大类问题,我们遇到许多数学问题,只要将其转成方程问题,剩下的就是解方程。算法好像不是那么直观,顺着这个思路开始重新看算法问题。今天有一个收获,也可能其他人早就知道。 int max=INT_MIN; for(size_t i=0;i<v.size ......
最大值 算法

强化学习Q-Learning和DQN算法

1 Q-Learning 强化学习中有state和action的两个重要概念。而Q-Learning算法就是用来得到在state上执行action的未来预期奖励。具体的算法流程如下: 初始化一个Q-table。 在当前状态\(s\)选择一个动作\(a\)。 执行动作\(a\),转移到新的状态\(s' ......
算法 Q-Learning Learning DQN