公钥 算法 笔记04
「学习笔记」Garsia-Wachs 算法
> 前言 本文的资料和图片均来自 $\texttt{OI-Wiki}$。 ## 引入 > 题目描述 在一个操场上摆放着一排 $N$ 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的 $2$ 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。 试设计一个算法,计算出将 $N$ 堆石 ......
文心一言 VS 讯飞星火 VS chatgpt (41)-- 算法导论5.4 5题
# 五、在大小为n的集合中,一个k字符串构成一个k排列的概率是多少?这个问题和生日悖论有什么关系? ## 文心一言: 在大小为n的集合中,一个k字符串构成一个k排列的概率是1/k!,这是由于排列的总数是k!,而每个字符串被选中的概率是相等的,因此每个字符串构成一个排列的概率是1/k!。 这个问题和生 ......
Pasos和RAFT算法
Paxos 提出时间1990年,RAFT提出时间2013年。RAFT 是Paxos的简化版,或者说是提高投票效率,但是降低了投票公平性的妥协方案。 ### RAFT 分布式raft(Replicated And Fault Tolerant)选举算法原理 - 分成三个角色,领导者,跟随者,和候选者。 ......
图像拼接算法技术报告
本篇博客先是介绍了图像拼接的一般流程,然后给出了自己手写方法和opencv官方代码的对比,最后在探索小节通过阅读opencv的源码解释了为什么动态物体出现时我的会有鬼影,而opencv stich不会,本质上是算法的思想不同。 ......
go语言编写算法
1、冒泡排序 // 冒泡排序 a := []uint8{9, 20, 10, 23, 7, 22, 88, 102} for i := 0; i < len(a); i++ { for k := i + 1; k < (len(a) - i); k++ { if a[i] > a[k] { a[i] ......
代码随想录算法训练营第七天| 344.反转字符串 、 541. 反转字符串II、 剑指Offer 05.替换空格 、 151.翻转字符串里的单词 、 剑指Offer58-II.左旋转字符串
344.反转字符串 代码: 1 void reverseString(vector<char>& s) { 2 3 int i = 0; 4 int j = s.size() - 1; 5 while (i < j) 6 { 7 char mid = s[i]; 8 s[i] = s[j]; 9 s ......
python返回函数学习笔记
内部函数sum**可以引用外部函数lazy_sum的参数和局部变量**,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“**闭包(Closure)**”的程序结构拥有极大的威力 #def lazy_sum(*args): def sum(): ax = 0 for ......
python装饰器函数学习笔记
函数也是一个对象,并且这个对象可以被赋值给变量,所以,我们可以通过变量调用该函数 > def now(): ... print('2015-3-25') ... >>> f = now >>> f() 2015-3-25 函数对象有一个__ name __属性,可以拿到函数名字: > now.__n ......
FFT 学习笔记
首先就是中考这几天我们学校做考场,然后初二放假在家写作业。 然后我就摸鱼来推之前不会的 FFT 的式子,推一推发现诶麻麻我懂了!麻麻我悟了麻麻! 于是在放假第二天我写下了这样一篇学习笔记 qwq ## 多项式的系数表示和点值表示 我们都知道,一个 $n$ 项多项式,如果我们写成一个函数,就可以写成这 ......
python高阶函数filter、sorted学习笔记
# filter Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 e.g在一个list中,删掉偶数, ......
python偏函数学习笔记
#### Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function) 比如,int函数默认十进制转换,若提供其它base参数,就可以进行n进制转换 >>> int('12345', base=8) 5349 >>> int('12345', 16 ......
JavaScript学习笔记 - 语法篇 - 一句废话没有版
> 写在前面: > **绝不废话!放心食用** > **JavaScript语法很简单,可以直接在控制台调试理解** [TOC] ## 1、变量和常量 ```javascript /** * var : 全局作用域,生命周期问题,容易冲突 * let :值可以被修改 * const :不可被修改 * ......
C#.NET CORE .NET6 RSA 私钥签名 公钥验签(验证签名) ver:20230614
C#.NET CORE .NET6 RSA 私钥签名 公钥验签(验证签名) ver:20230614 环境说明: .NET CORE 版本:.NET 6 。 .NET CORE 对于RSA的支持: 1. .NET 6 中内置了对 PKCS1,PKCS8 2种私钥格式的支持。 2.私钥字符串要去除" ......
Lucene检索全流程学习笔记
# 一 简介 ## 写作目的 ### 1 为什么学习Lucene lucene是基于倒排索引的检索工具库,倒排索引是典型的文本匹配,它能够精确匹配用户搜索的query,它的缺点是不擅长语义理解,而深度学习检索模型擅长的正是理解用户query背后的语义。深度学习的一个优点是可以把用户的各种特征很容易地 ......
关于服务器的一些笔记
// 查看端口占用 netstat -anp | grep 8080 // 查看占用8080端口的进程: fuser -v -n tcp 8080 // 杀死指定进程 kill -s 9 1154 // 持久化运行jar包 nohup java -jar gdcx-web-1.0.0.jar & 内 ......
python匿名函数学习笔记
当我们在传入函数时,有些时候,**不需要显式地定义函数,直接传入匿名函数更方便**。 > list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) [1, 4, 9, 16, 25, 36, 49, 64, 81] 由此,匿名函数lambda x ......
ScheduledThreadPoolExecutor杂乱笔记
java.util.concurrent.ScheduledThreadPoolExecutor public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, Tim ......
抽象工厂模式-04
### 概述 抽象工厂 (abstract factory) 模式又称 Kit 模式,由一个抽象工厂类、多个抽象产品类以及这些抽象类的多个具体子类构成。每个具体工厂类可以创建每个抽象产品类的某个具体子类。 **优点**:高内聚低耦合,符合“开闭原则”。 **缺点**:难以添加新的产品类,这涉及到更改 ......
策略模式:整体替换算法
策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在策略模式中,我们定义了多个算法,并将每个算法封装在一个独立的类中(__策略类__),以便在运行时根据需要进行切换。这使得算法与调用其算法的客户端代码分离,从而实现了更高的灵活性和可维护性。 主要实现方式:1 策略接口 -> n * 具体策略 ......
构建之法阅读笔记二
在《构建之法》一书中,作者鲍勃·马丁强调了软件开发实践中的重要性和挑战,并提供了一些实用的技术和方法来解决这些问题。其中,他特别强调了代码质量、可维护性和测试的重要性。 在书中,作者介绍了许多面向对象设计原则,如单一职责原则、依赖倒置原则和接口隔离原则等,并详细阐述了它们的含义和应用。此外,书中还介 ......
构建之法阅读笔记其三
《构建之法》是一本关于软件开发实践的经典著作。在这本书中,作者鲍勃·马丁通过许多实际案例和经验分享,阐述了代码质量和可维护性对于软件开发的重要性,并提供了一些实用的技术和方法来提高软件开发效率和质量。 在书中,作者提出了“SOLID”原则和“DRY”原则,并详细介绍了每个原则的含义和应用。此外,书中 ......
kmp 算法
问题描述 kmp算法解决的是字符串匹配问题,即:字符串P是否是字符串S的子串?如果是,它出现在s的哪些位置?这里我们称 S 为主串,P 为模式串。 思路 首先是暴力匹配算法(Brute-Force算法),代码如下: void BruteForce(string s, string p) { int ......
PROXMOX及CEPH笔记2
1、关于物理磁盘 服务器有硬件阵列卡并且卡上有电池和缓存,一定要为每个VirtralDisk打开Write Back和Read ahead,如有有Cache也打开 2、提高CEPH修复的速度,这个我觉得也挺重要的,保证资料完整性 https://www.modb.pro/db/220671 在任一节 ......
LRU 算法与 LFU 算法
算法介绍 LRU LRU 全称是 Least Recently Used,即最近最久未使用算法。 LRU 根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高,它是页面置换算法的一种,也常用于缓存设计。 LFU LFU 全称是 Least Freque ......
快速选择算法
问题描述 给定一个长度为$n$的数组,如何在$O(n)$的时间复杂度内找到第$k$大的数。 思路 朴素的想法是先排序,然后直接找到第$k$个元素,时间复杂度为$O(n\log n)$。 我们可以利用快速排序的思想来解决这个问题,考虑快速排序的划分过程,在快速排序的“划分”结束后,数组$A_p \cd ......
字符串哈希算法
问题描述 考虑 1044. 最长重复子串 (Hard),本题思路并不难,可以使用二分答案来解决,假设答案为 mid,那么长度大于 mid 的子串在 s 中只会出现一次,否则至少出现两次。 因此只需要考虑子串在 s 中的出现次数即可,比较直接的想法是使用 key 为 string 的 unordere ......
渗透测试笔记
### 信息收集 信息搜集是渗透测试的第一步,以下是一些常用的渗透测试信息搜集方法: 1. 开放源码情报收集(OSINT):通过搜索引擎、社交网络、在线论坛等公共渠道搜索目标网站或系统的信息。 2. 技术资料分析:分析目标网站或系统的技术资料,例如域名注册信息、服务器架构、网站备份等。 3. 网络映 ......
马拉车算法
截图来自董老师https://www.bilibili.com/video/BV173411V7Ai/?spm_id_from=333.999.0.0&vd_source=23dc8e19d485a6ac47f03f6520fb15c2 P3805 【模板】manacher 算法 #include< ......