算法

java LeetCode刷题稍有难度的贪心构造算法

目录 题目描述 贪心 + 构造 最后 题目描述 这是 LeetCode 上的 768. 最多能完成排序的块 II ,难度为 困难。 Tag : 「贪心」 这个问题和“最多能完成排序的块”相似,但给定数组中的元素可以重复,输入数组最大长度为 200020002000,其中的元素最大为 1 »

《深入理解Java虚拟机》第三章读书笔记(二)——HotSpot垃圾回收算法实现(OopMap,安全点安全区域,卡表,写屏障,三色标记算法)

系列文章目录和关于我 前面《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法我们学习了垃圾回收算法理论知识,下面我们关注下HotSpot垃圾回收算法的实现,分为以下几部分 对象是垃圾的判断依据 GC Roots 是如何高效扫描的 如何解决跨代引用对象的垃圾回收问题 如何降低垃圾回收STW ... »

cuzzz jvm

2023牛客寒假算法基础集训营4 A-H+JLM

比赛链接 A 题解 知识点:数学。 算一下发现 $3$ 最好,$2,4$ 并列, $4$ 以后递减。于是,特判 $3$ ,其他取最小值。 (众所周知, $e$ 进制最好qwq。 时间复杂度 $O(1)$ 空间复杂度 $O(1)$ 代码 #include <bits/stdc++.h> using n ... »

神秘算法 —— 线性基求交

线性基求交:设 $A,B$ 为两个线性基,$V_A,V_B$ 分别为其生成空间,则 $V_C=V_A\cap V_B$ 是一个线性空间,称 $A$ 与 $B$ 两个线性基的交为 $C$。 首先证明 $V_C$ 是一个线性空间。其实很显然,对于任意 $x,y\in V_C=V_A\cap V_B$,$ ... »

数据结构-详解优先队列的二叉堆(最大堆)原理、实现和应用-C和Python

一、堆的基础 1.1 优先队列和堆 优先队列(Priority Queue):特殊的“队列”,取出元素顺序是按元素优先权(关键字)大小,而非元素进入队列的先后顺序。 若采用数组或链表直接实现优先队列,代价高。依靠数组,基于完全二叉树结构实现优先队列,即堆效率更高。一般来说堆代指二叉堆。 优先队列的完 ... »

Label Propagation算法原理示例解析

目录 1. 概述 2. Label Propagation算法 2.1. Label Propagation算法概述 2.2. Label Propagation算法原理 3.3. Label Propagation算法过程 3. 实验 3.1. 数据描述 3.2. 实验代码 3.3. 代 »

C#开发PACS医学影像三维重建(十四):基于能量模型算法将曲面牙床展开至二维平面

在医学影像领域中,将三维重建中的人体组织展开平铺至二维,用来研判病灶和制定治疗方案的重要手段之一, 它能够将立体曲面所包含的信息更为直观的展示到二维平面上,常用的情景包括: 牙床全景图、平铺血管、骨骼二维化展开(肋骨平铺)。 众所周知,人体牙床正常情况下是有弧度的,无论是从俯视位还是冠状位观察都是不 ... »

Java实现国产加密算法SM4的示例详解

目录 国产SM4加密解密算法概念 1.SM4/ECB/PKCS5Padding 2.SM4/CBC/PKCS5Padding 国产SM4加密解密算法概念 SMS4算法是在国内广泛使用的WAPI无线网络标准中使用的加密算法,是一种32轮的迭代非平衡Feistel结构的分组加密算法,其密钥长度 »

分布式协议与算法-Paxos算法

1.Basic Paxos 假设我们要实现一个分布式集群,这个集群是由节点 A、B、C 组成,提供只读 KV 存储服务。你应该知道,创建只读变量的时候,必须要对它进行赋值,而且这个值后续没办法修改。因此一个节点创建只读变量后就不能再修改它了,所以所有节点必须要先对只读变量的值达成共识,然后所有节点再 ... »

7个流行的Python强化学习算法及代码实现详解

目录 1、Q-learning 2、SARSA 3、DDPG 4、A2C 5、PPO 6、DQN 7、TRPO 总结 目前流行的强化学习算法包括 Q-learning、SARSA、DDPG、A2C、PPO、DQN 和 TRPO。 这些算法已被用于在游戏、机器人和决策制定等各种应用中,并且这些流 »

分布式协议与算法-Quorum NWR

1.强一致性与最终一致性 1.1强一致性 强一致性能保证写操作完成后,任何后续访问都能读到更新后的值;强一致性可以保证从库有与主库一致的数据。如果主库突然宕机,我们仍可以保证数据完整。但如果从库宕机或网络阻塞,主库就无法完成写入操作。 1.2最终一致性 最终一致性只能保证如果对某个对象没有新的写操作 ... »

洛谷 P1208混合牛奶 题解

一道贪心算法不是很明显的题目,其实一般的递推也可以做。 大体思路:肯定优先购买单价最低的奶农的牛奶,那么就需要先根据牛奶单价进行排序,这里用结构体会更好一点。之后在从前往后一个一个枚举,直至购买的牛奶数量达到要求即可。 话不多说,上代码: 1 #include<bits/stdc++.h> 2 us ... »

[数据结构]KMP算法(含next数组详解)

#字符串匹配问题 给定一个字符串 s 和一个要匹配的模式串 p。模式串 p 有可能在 s 中多次出现,请求出模式串 p 在 s 中所有出现的起始位置。 #暴力匹配算法 BF ##算法思路 在面对字符串匹配问题时,很容易想到暴力求解。字符串匹配的暴力算法思路很简单,即在 s 中枚举起点 i,对于每个起 ... »

MAKISE004

Java数据结构之选择排序算法的实现与优化

目录 初识选择排序 算法实现 优化后的算法实现 选择排序 VS 冒泡排序 初识选择排序 算法思想[以升序为例]: 第一趟选择排序时,从第一个记录开始,通过n-1次关键字的比较,从第n个记录中选出关键字最小的记录,并和第一个记录进行交换 第二趟选择排序时,从第二个记录开始,通过n-2次关 »

RSA非对称加密算法浅析

说起加密算法,大的分类上,常规区分通常会区分为对称加密与非对称加密两种,两种算法都各有优缺点。然而互联网发展到今天,应用更广的还是非对称加密的方式,而非对称加密中,RSA又首当其中,被广泛运用到各类应用中。本人作为一个标准的Javer,一直对RSA细节没有深入探究,本文算是对该算法的一个浅析,其中涉 ... »

xijiu

2023牛客寒假算法基础集训营1 ACDEFGHKLM

比赛链接 A 题解 知识点:模拟。 显然。 (用char输入到一半直接给答案跳出,WA了两小时,无话可说。 时间复杂度 $O(1)$ 空间复杂度 $O(1)$ 代码 #include <bits/stdc++.h> #define ll long long using namespace std; ... »

基础二分查找总结

前言 由于我在学习二分查找的过程中处于会了忘,忘了复习的状态,因此总结一套适合自己记忆的模板。建议先看参考资料$^{[1,2,3]}$,理解二分查找各种细节的由来。 二分查找又死循环了?【基础算法精讲 04】 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. ... »

算法学习笔记(8.1): 网络最大流算法 EK, Dinic, ISAP

网络最大流 前置知识以及更多芝士参考下述链接 网络流合集链接:网络流 最大流,值得是在不超过管道~~(边)~~容量的情况下从源点到汇点最多能到达的流量 抽象一点:使 $\sum_{(S, v) \in E} f(S, v)$ 最大的流函数被称为网络的最大流,此时的流量被称为网络的最大流量 有了最大流 ... »

jeefy