算法leetcode day 30
万能欧几里得算法
从这篇博客学的:[link](https://www.luogu.com.cn/blog/ix-35/solution-p5170) 。 解决这样的一类问题: 有一条直线 $y=\frac{Px+B}{Q}$ ,其中 $x\in(0,L],\mid B \mid\lfloor \frac{Pa+B} ......
「学习笔记」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] ......
Leetcode
1.两数之和 题目链接:1. 两数之和 - 力扣(LeetCode) 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 ......
代码随想录算法训练营第七天| 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 day7
第一阶段 第六章 6.7元组 text1 = ('周杰伦', 11, ['football', 'music']) index = text1.index(11) print(index) print(text1[0]) del text1[2][1] print(text1) text1[2].a ......
python基础day25 深浅copy和第三方模块下载使用
深浅copy 1.对于不可变对象,深拷贝和浅拷贝的效果是一样的,因为不可变对象不需要在内存中复制 2. 对于可变对象,深拷贝和浅拷贝的效果是有区别的,主要原因在于可变对象自身的可变性质 浅拷贝 使用数据类型本身的构造器 list1 = [1, 2, 3] list2 = list(list1) pr ......
leetcode2390双指针一个指针写一个指针读
while(scan<s.size()){ if(s[scan]== '*'){ write==0?write:write--; scan++; continue; } s[write++]=s[scan++]; return s.substr(0,write); } ......
[LeetCode] 1348. Tweet Counts Per Frequency 推文计数
A social media company is trying to monitor activity on their site by analyzing the number of tweets that occur in select periods of time. These perio ......
尚医通day11-Java中阿里云对象存储OSS
# 页面预览 ## 用户认证 - 用户登录成功后都要进行身份认证,认证通过后才可以预约挂号。 - 认证过程:用户填写基本信息(姓名、证件类型、证件号码和证件照片),提交平台审核 - 用户认证相关接口: (1)上传证件图片 (2)提交认证 (3)获取认证信息 ### 提交认证 ![image-2023 ......
策略模式:整体替换算法
策略模式是一种行为设计模式,它允许在运行时选择算法的行为。在策略模式中,我们定义了多个算法,并将每个算法封装在一个独立的类中(__策略类__),以便在运行时根据需要进行切换。这使得算法与调用其算法的客户端代码分离,从而实现了更高的灵活性和可维护性。 主要实现方式:1 策略接口 -> n * 具体策略 ......
Leetcode常见报错的原因分析
问题1 问题描述 Line 522: Char 69: runtime error: applying non-zero offset 18446744073709551615 to null pointer (basic_string.h) 报错原因 string res = 0 报错分析 这里报 ......
kmp 算法
问题描述 kmp算法解决的是字符串匹配问题,即:字符串P是否是字符串S的子串?如果是,它出现在s的哪些位置?这里我们称 S 为主串,P 为模式串。 思路 首先是暴力匹配算法(Brute-Force算法),代码如下: void BruteForce(string s, string p) { int ......
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 ......
Vscdoe 通过cookie 登陆美区 LeetCode
安装插件 vscode 安装leetcode插件。 使用cookie登陆 如果选择使用github登陆leetcode.com,似乎会有无法提交和测试的bug,而用cookie登陆就没有这个问题 使用edge获取cookie 使用Firefox获取的cookie有问题,无法正常登陆 右键,选择检查 ......
Log in Leetcode in Vscode With Cookies" #标题
Install leetcode plug-in in vscode It's easy by search in Extension. Log in with cookies If you want to login leetcode in vscode leetcode plug-in by g ......
FreeBSD 30周年
Happy 30th, FreeBSD! Why the FreeBSD open source project has endured As FreeBSD marks three decades of success, we can thank open source freedom, a st ......
代码随想录day07
第三章 哈希表part02 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和 454.四数相加II 思路:采用分为两组,HashMap 存一组,另一组和 HashMap 进行比对。 首先求出 A 和 B 任意两数之和 sumAB,以 sumAB 为 key,sumAB 出现 ......
马拉车算法
截图来自董老师https://www.bilibili.com/video/BV173411V7Ai/?spm_id_from=333.999.0.0&vd_source=23dc8e19d485a6ac47f03f6520fb15c2 P3805 【模板】manacher 算法 #include< ......
Loj #6041. 「雅礼集训 2017 Day7」事情的相似度
做到这题,发现自己对$SAM$的一些性质还不知道,特此记录。 题目要求01字符串区间内前缀的最长公共后缀 由SAM parent tree性质可知,2个前缀的最长公共后缀就是它们在parent tree上lca的len值 如何去感性理解 我们知道,在parent tree上每个节点都代表了一个end ......
【安全学习之路】Day27
![](https://img2023.cnblogs.com/blog/3073714/202306/3073714-20230613214415340-911562844.png) ![](https://img2023.cnblogs.com/blog/3073714/202306/30737 ......
《数据结构与算法》之二叉树(补充树)
一.树结构之二叉树操作 二叉树的查找 二叉搜索树,也称二叉排序树或二叉查找树 二叉搜索树:一棵二叉树,可以为空,如果不为空,应该满足以下性质: 非空左子树的所有结点小于其根结点的键值 非空右子树的所有结点大于其根结点的键值 左右子树都是二叉搜索树 对于二叉树的查找,其实沿用的是分治法的思想,所以我们 ......
文心一言 VS 讯飞星火 VS chatgpt (40)-- 算法导论5.4 4题
# 四、一次聚会需要邀请多少人,才能让其中 3 人的生日很可能相同? ## 文心一言: 为了解决这个问题,我们需要先计算出所有可能的生日组合数,然后计算出其中生日相同的组合数。 已知需要邀请的人数为:23人 根据组合数公式,可计算出所有可能的生日组合数: 2.58520167*10^{22} 根据生 ......
python基础day24 subprocess、hashlib和日志模块
subprocess模块 用处: 1. 以后我们可以用自己的电脑连接上别人的电脑(socket) 2. 通过subprocess可以在别人的计算机上执行我们想要执行的命令 3. 把在别人计算机上执行的结果返回过来 import subprocess res = subprocess.Popen('t ......