算法leetcode day 30

「ACM 算法实践」[解题报告]麦田

分析 首先,前缀和的思路是很显然的。然后我们很容易想到暴力枚举矩形的左上角和右下角,然而 $\mathcal{O}(n^4)$ 的算法过不去,哪怕把最后一维用二分,倒数第二维加一点剪枝也还是会 T 两个点。 这时候应该考虑将多行/列压缩为一行/列,然后再使用双指针枚举列/行。详细来说就是将 $i$ ......
麦田 算法 报告 ACM

「ACM 算法实践」[解题报告]组队

分析 因为时间不多了,我一开始只考虑了 $a_i$ 互不相等的情况,没想到居然拿到了 60 昏( 正确解法是贪心 + 优先队列。~~而不是从「使得人数最少的队伍人数最多」中得到的二分~~ 首先肯定要将 a 数组排序,要使人数最少的队伍人数最多,我们优先将当前的数 $a[i]$ 放到以 $a[i]-1 ......
算法 报告 ACM

「ACM 算法实践」[解题报告]时间管理大师

分析 一开始想着应该要分情况讨论,如果每台电脑的耗电量都小于 $e$ ,那么可以知道小 Q 是可以一直学习下去的,如果存在电脑的耗电量大于等于 $e$ ,贪心的想法是将每台电脑能用的时间从小到大排序,然后丢进优先队列里,再考虑给谁充电,这样一来情况就非常复杂了。 正确的做法是二分答案 $t$ ,计算 ......
时间管理 算法 大师 时间 报告

高精度算法-高精度加法

为什么要用高精度 因为有的题目的数据很大,超出long long的范围,所以我们需要用高精度来计算: 首先是高精度加法: 高精度加法就是仿照我们竖式加法进行操作,逐位相加,注意进位!!! 题目传送门 Tiling Time Limit: 1000MS Memory Limit: 65536K Tot ......
高精 高精度 加法 算法

Day 18 18.1 并发爬虫之协程实现

并发爬虫之协程实现 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局 ......
爬虫 18 18.1 Day

蚁群算法及 TSP 问题上的应用

群智能(Swarm intelligence) 自然界动物群,称之为群。 群的特征: 相互作用的相邻个体的集合 个体的行为简单,既有竞争又有协作 智能化的集体行为(1+1>2): 个体间不仅能够交互信息,还能够处理信息,根据信息改变自身行为 没有一个集中控制中心,分布式、自组织 作为群体协同工作时, ......
算法 问题 TSP

代码随想录算法训练营Day50 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day50 动态规划| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV 123.买卖股票的最佳时机III 题目链接:123.买卖股票的最佳时机III 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算 ......
随想录 训练营 随想 算法 代码

LeetCode 746 使用最小花费爬楼梯

代码随想录_0746.使用最小花费爬楼梯 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 题目跳转链接 ......
楼梯 LeetCode 746

前缀和算法

前缀和算法 什么是前缀和? 前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和,而拆分可以看成前缀和的逆运算。合理的使用前缀和与拆分,可以将某些复杂的问题简单化。 具体做法: 首先做一个预处理,定义一个sum[]数组,sum[i]代表a数组中前i个数的和。 求前缀和运算: for(in ......
前缀 算法

基于遗传算法优化的BP神经网络图像分割matlab仿真

1.算法描述 遗传算法(Genetic Algorithm-GA)是一种基于自然选择和基因遗传学原理的优化搜索方法。它将“优胜劣汰,适者生存”的生物进化原理引入待优化参数形成的编码串群体中,按照一定的适配值函数及一系列遗传操作对各个体进行筛选,从而使适配值高的个体被保留下来,组成新的群体,新群体中各 ......
神经网络 算法 图像 神经 matlab

通过MATLAB实现基于PSO优化的NARMAX模型参数辨识算法

1.算法描述 粒子群优化算法(PSO),粒子群中的每一个粒子都代表一个问题的可能解, 通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。 最终算法伪代码如下: 初始化: 每个粒子获得一个随机解和一个随机的SS (命名为速度) For 在位置 X_{id} 的所有粒子, 计算新的位置 X_ ......
算法 模型 参数 MATLAB NARMAX

LeetCode15. 三数之和

题目描述: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意 ......
之和 LeetCode 15

【结对作业】第一周 | 学习体会day06

初步做了app的页面 change作为mysql的关键字,不可以作为命名,否则报错做了两条线路的中转初步学习了frame标签,打算明天实现页面的部分切换 ......
学习体会 day 06

【结对作业】第一周 | 学习体会day05

实现了单条地铁线路的直达 进行了页面的优化,实现了侧边栏功能 并且对第二天(今天)的任务进行了规划。 ......
学习体会 day 05

推理引擎-Kernel优化-Im2Col算法

1、介绍一下通用的卷积过程 ......
算法 引擎 Kernel Im2Col 2Col

链表操作-leetcode23-删除倒数第几个节点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 提示: 链表中结点的数目为 sz 1 <= sz <= 30 0 <= Node. ......
节点 leetcode 23

Day13-文件操作

一、 文件基本操作 1、 打开、读写、关闭 open(file=,mode=,encoding=) # open 操作文件数据 open(file=文件所在位置, # mode=操作文件的模式, # encoding=以什么编码读取文件 二进制数据不需要设置编码) 绝对路径(一个完整的路径) #F: ......
文件 Day 13

机器学习基础02DAY

数据的特征预处理 单个特征 (1)归一化 归一化首先在特征(维度)非常多的时候,可以防止某一维或某几维对数据影响过大,也是为了把不同来源的数据统一到一个参考区间下,这样比较起来才有意义,其次可以程序可以运行更快。 例如:一个人的身高和体重两个特征,假如体重50kg,身高175cm,由于两个单位不一样 ......
机器 基础 DAY 02

LeetCode|383. 赎金信

题目链接:383. 赎金信 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1 ......
LeetCode 383

LeetCode|876. 链表的中间结点

题目链接:876. 链表的中间结点 难度简单829收藏分享切换为英文接收动态反馈 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:head = [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中间结点,值为 ......
结点 LeetCode 876

vue核心原理(Diff算法、虚拟dom)

核心原理&源码 Diff 算法 这里参考大佬文章:https://mp.weixin.qq.com/s/oAlVmZ4Hbt2VhOwFEkNEhw diff 算法的进化 关于 diff 算法的最经典的就是 Matt Esch 的 virtual-dom,以及 snabbdom(被整合进 vue 2 ......
算法 原理 核心 Diff vue

今日总结-30

今日打卡 所花时间(包括上课):4h 代码量(行):200 发表博客:1篇(不包括本篇) 学习进度和了解到的知识点:今天研究了SQL语句实现最短路径查询 ......
30

Day2

java 基础 HelloWorld代码 public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } } 1注释、标识符、 JAVA中的注释有三种 单行注 ......
Day2 Day

day21 (2023.3.21)

1.迭代List接口类型容器 运行结果: 2.迭代Set接口类型容器 运行结果: 3.迭代Map接口类型容器 运行结果: 4.在迭代器中删除元素: 运行结果: 5.操作容器的工具类Collections 运行结果: day21(2023.3.21)星期二 ......
21 2023 day

day09-拦截器&文件上传

拦截器&文件上传 1.拦截器-Interceptor 1.1拦截器概念 拦截器 拦截器(Interceptor):是一种动态拦截方法调用的机制,在SpringMVC中动态拦截控制器方法的执行。在SpringBoot中,拦截器是开发的常用手段,要用来登录验证、性能检查、日志记录等 (1)SpringB ......
文件 day amp 09

数据结构算法学习前言

数据结构算法学习 写在前面: 今天是2023-03-21,上一次接触算法是在公司导师的带领下,学习了数据结构算法,他一题一题讲给我的,但是当时却不太争气,并没有掌握太多,由于这段时间市场行情的严峻,为了更高的薪资,我决定开始刷题,并记录下来。 ......
数据结构 算法 前言 结构 数据

代码随想录Day 22 235. 二叉搜索树的最近公共祖先 | 701.二叉搜索树中的插入操作 | 450.删除二叉搜索树中的节点

235 二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二 ......
随想录 节点 祖先 随想 代码

保姆级教程!2 万字 + 30 张图搞懂 MySQL 是怎么加行级锁的?

大家好,我是小林。上周五我发了一篇「 MySQL 是怎么加锁?」的文章,当时这篇文章是重写了以前的文章,相比以前的文章多了 1w 字。期间有位读者认真看完后,跟我反馈,希望再多解释下二级索引(非唯一索引) 的间隙锁具体可以防止哪些新记录插入,因为相比于主键索引的间隙锁,考虑的因素会比较多。所以后来, ......
保姆 教程 MySQL 30

Leetcode 14. 最长公共前缀(模拟)

题目链接在这里:最长公共前缀 虽然是很简单的模拟题,但是鼠鼠学习了很多面向对象编程中遇到的一些问题,具体的可以看这个链接python中的静态方法与实例方法 class Solution: def longestCommonPrefix(self,strs)->str: if not strs: re ......
前缀 Leetcode 14

记录贴-gpt4 提供的学习内容-基本算法

基础算法 排序算法 查找算法 字符串算法 数学算法 图论算法 动态规划算法 贪心算法 回溯算法 分治算法 线性代数算法 概率论算法 统计学算法 以上是通过提问 gpt4得到的学习 Python 的一些基础算法,直接向 gpt4 提问,通过提问的思路顺延下去把基础算法学好 1.动态规划算法 提问:Py ......
算法 内容 gpt4 gpt