自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (1)
  • 收藏
  • 关注

原创 一份不可多得的 Webpack 学习指南(共10k字)

本篇文章会带你入门 Webpack 并对基本配置以及进阶配置做比较通俗易懂的介绍,保证大家都能轻松读懂并掌握!

2022-02-26 11:03:04 8519

原创 都2022年了还不考虑来学React Hook吗?6k字带你从入门到吃透

文章会为你讲述 React 11种 Hook 的日常用法以及进阶操作,由浅入深带你彻底掌握 React Hook!

2022-02-18 11:53:25 709

原创 浅谈javascript的原型和原型链(新手懵懂想学会原型链?看这篇文章就足够啦!!!)

????本篇文章我将从概念和对应题目知识点讲起,希望大家能有所收获????一、原型①所有引用类型都有一个_proto_(隐式原型)属性(类似链表中的next指针), 链表可以通过.next访问下个元素,原型中可通过._proto_访问上一级元素。②所有类都有一个prototype(原型)属性,例如:Object,Function,Array③所有引用类型的_proto_属性指向它构造函数的prototype例如:arr是一个数组实例,那么arr._proto_=Array.prototype

2021-08-04 23:49:16 1311 9

原创 拒绝死记硬背!清晰思路讲透 控制并发数、Promise.all、Promise.race 的实现逻辑

近期求职季刷到非常多关于手写代码题,在研究 `Promise` 的相关特性过程中,发现其实背后涉及的原理是一样的。因此为了帮助大家更好地理解 `Promise.all`、`Promise.race`、**控制 Promise 请求并发数** 等等的题目,特地写下这篇文章~

2024-10-01 20:46:40 645

原创 密码学算法的安全性和性能分析常用什么工具呢?

想问下大家伙,下面这种密码学方面的算法安全性、性能分析对比图,是用什么软件或工具生成的?

2024-02-21 18:50:21 452

原创 手把手教你从0到1通过 Express 完成图片上传并保存至阿里云OSS功能(附详细源码)

近期一个项目由于缺人,我需要负责前后端,在上传图片这个功能上,由于没实现过后端接收并上传至阿里云OSS进行保存的需求,经过网上各种博客的洗礼与寻找,终于完成了从0到1的一步,记录一下痛苦的过程以及感想

2023-01-05 18:28:34 2024 1

原创 算法设计与分析 SCAU19180 集合划分问题

递归思路:以最大数n为例1. n **独立作为一个子集**,问题就演变为 n - 1 个数分为 m - 1 个集合。即:如果现在是将4个元素划分为3个集合,如果加入第四个数时要求为独立一个子集,那在这基础上,结果加上个数为3个元素划分为2个集合的数量。2. n 和其他数字在一起构成子集,那么先将 n - 1 个数字分为 m 个集合,再将 n 插入到这 m 个集合中的某个集合中去,因此此时会有 m 种插入方案。

2022-12-01 17:45:24 693

原创 算法设计与分析 SCAU18931 分形

因此我们可以不断地往左上角、右上角、中心、左下角、右下角进行递归(即五次)**那我们如何在第一、第二次递归等等,确定我要找的位置在哪里呢?**我们可以用草稿纸帮助我们计算- 第一次递归,右上角距离左上角为18个单位- 第二次递归,右上角距离左上角为6个单位- 第三次递归,右上角距离左上角为2个单位**这些数字有什么特点呢**- 18 = 3 ^ 3 - 3 ^ 2(n = 4)- 6 = 3 ^ 2 - 3 ^ 1(n = 3)- 2 = 3 ^ 1 - 3 ^ 0

2022-11-28 15:55:06 375

原创 算法设计与分析 SCAU19184 传球游戏

### 一、深度优先搜索#### 解题思路搜索即将所有情况列出来,每传到一个同学手中时,他都有两种选择,一个是往左传,一个是往右传,我们只要计算传到最后一次时是否传回第一个人手中即可。类似于击鼓传花,只不过击鼓传花结束条件是**时间到了**,而这题的结束条件是**传的次数到了**。当传到 j 同学手中时,传过来的位置有两种情况,一种是从左边即 j - 1,一种是从右边即 j + 1,因此 a[i][j] = a[i - 1][j - 1] + a[i - 1][j + 1]但需要注意有特殊情况

2022-11-28 11:14:54 1345

原创 算法设计与分析 SCAU11090 最大m段乘积和最小m段和(优先做)

这个公式这样理解:当 j >= 2 && j

2022-11-24 15:56:34 525

原创 算法设计与分析 SCAU17089 最大m子段和

求 dp[ i ][ j ],有两种情况1. dp[ i ][ j ] = dp[ i ] [ j-1 ] + a[ j ] ,即把第 j 项融合到第 j-1 项的子段中,子段数没变(即跟前面连成一段,一般发生于前面的数是正数时);2. dp[ i ][ j ] = dp[ i-1 ] [ k ] + a[ j ],(i-1 对于第二点,思考方式可以是如下图:当你遍历到6这个元素时

2022-11-23 17:00:41 711 2

原创 算法设计与分析 SCAU8597 石子划分问题

dp[n][m] = dp[n - k][m - 1] + (a[n] - a[n - k + 1]) * (a[n] - a[n - k + 1])假设最后一份石头有 k 堆,则 dp[n][m] 为前 n - k 堆中挑选出 m - 1 份的得分,加上最后这一份的石头得分,得分为最后一堆减去第一堆的平方(因为已经升序排序,所以最大的在这一份最后,最小的一定在这一份开头)

2022-11-22 20:53:00 519

原创 算法设计与分析 SCAU17104 视频流有效调度

#### 1. 贪心算法由于题目要求是 **优先输出的是“字典序”最小的有效调度**,所以贪心思想也是比较容易想到的,即:每次都从头往后找,找到第一个满足视频流调度条件的,就进行记录,然后重新从头往后找,直到所有视频流都记录为止(即所有视频流都已发送)。#### 2. 搜索 + 回溯 + 剪枝此题我们的思想类似于全排列,也就是将所有序号按字典序从小到大排列出来,当找到第一个满足条件的序列,就停止算法。

2022-11-22 17:53:46 344

原创 算法设计与分析 SCAU17103 基站建设(优先做)

从左到右考虑基站安置的位置,要使得基站数最少,又要所有居民房子都被基站4km范围内覆盖到,那就尽量保证每个房子都可以满足最大距离4km的覆盖。因此如果某个房子不在你当前安置的基站4km的距离内,那就在那个房子的下个4km的地方建立新一个基站即可,这样基站数最少。所以我们的策略是:将下一个基站安置在当前那个不在覆盖范围内房子向东4km远的距离。

2022-11-21 21:02:07 469

原创 算法设计与分析 SCAU17964 水桶打水

每个人整个打水的时间为:本人等待时间 + 本人实际充水的时间;而本人的等待时间又为:排在 **本人之前所有人** 的充水时间之和。1. 本题目标是所有人打水花费的总时间和最小。2. 由于排在越前面的人,他的**充水时间计算次数就越多**,3. 因此充水时间 **越小的人排在前面** 可使所有人打水花费的总时间和越小,所以用贪心法解答。

2022-11-21 20:42:53 415

原创 算法设计与分析 SCAU11079 可以移动的石子合并(优先做)

保证每次选两堆最多的,合并直至只剩一堆为止,能获得最大得分;1. 保证每次选k堆最少的,合并直至只剩一堆为止,能获得最小得分。2. 在合并之前,若 **n%(k-1)!=1**,说明合并到最后一轮时,**剩下不是k堆(而是比k堆少)**,这样算的并不是最小得分,而必须在合并之前添加**若干个为0**的虚拟堆,目的为凑成的堆数保证每次都能有k堆合并(包括最后一次)最后合并为1堆。

2022-11-21 20:06:29 366

原创 算法设计与分析 SCAU10346 带价值的作业安排问题

这题较简单,求总效益值最大的相容子集,即把重复的元素集合中效应较小的给去除即可。1. 初始化三个数组,time 一个记录各时间节点,val 记录各节点效应,all 用于打表,记录相应时间节点(下标)是否有效应2. 如果 all 数组该时间节点值为0,说明该时间节点第一次记录效应,直接加入即可3. 如果 all 数组该时间节点值不为0,说明该时间节点不是第一次记录效应,即需要去重,条件是如果新来的效应如果较大,就代替原本的,否则保持原来的效应不变4. 在进行上面循环遍历的同时记录总效应 sum 即可

2022-11-21 14:51:23 541

原创 算法设计与分析 SCAU8605 删数问题

利用“最陡下降点”优先,即每次找到第一个元素,使其满足大于下一个元素。正如上述的那个例子,第一个删除的是9,因为9>0;得到的整数是17806;第二个删除的是8,因为8>0,得到的整数是1706,第三个删除的是7,因为7>0,得到的整数是106;第四个删除的是1,因为1>0,得到的是06,为正确的答案。

2022-11-20 21:57:56 207

原创 算法设计与分析 SCAU8598 整除15 问题

对我感兴趣的小伙伴可查看以下链接公众号:Smooth前端成长记录。

2022-11-20 21:51:18 171

原创 算法设计与分析 SCAU11091 最优自然数分解问题(优先做)

注意到: 若a+b等于一个常数,则|a-b|越小,ab就越大。贪心策略:极尽拆解,尽可能先将n拆成3,3,3,...,3;若拆成若干3后还有剩余,则为2,或2和2。要使得加数互不相同,又尽可能集中,那加数只能是连续的自然数了。贪心策略:当n等于1至4时**单独处理**。n大于4时,将n分成从2开始的**连续的自然数的和**。如果最后剩下一个数,将此剩余数在**后项优先的方式下均匀地分给前面各项**。

2022-11-17 16:13:27 569 1

原创 算法设计与分析 SCAU8602 区间相交问题(优先做)

贪心技巧:通常贪心都伴随着排序。我们要保证去掉的区间数最小,即要让区间在有序的条件下,再进行删除重叠区间。- 明确了贪心的方向后,接下来要思考如何删除重叠区间,下面是删除重叠区间的算法思路

2022-11-17 10:32:17 363

原创 算法设计与分析 SCAU8595 钱币组合的问题(优先做)

转移方程的过程:dp[i][sum] += dp[i - 1][sum - num * v[i]]:加上前 i 种纸币面值为 sum - num * v[i] 时的个数,由于 num 是会慢慢变大,即组合能容纳多张第 i 张纸币,因为可能会重复,所以是加上.也用一个状态转移方程来记录 paper[i][sum]: 记录到第 i 种纸币时,面值为 sum 的纸币最小张数

2022-11-16 10:40:03 497

原创 算法设计与分析 SCAU11078 不能移动的石子合并(优先做)

dp[l][r] 表示从 L 到 R 合并成一堆的最小代价对我感兴趣的小伙伴可查看以下链接公众号:Smooth前端成长记录。

2022-11-12 16:33:35 692

原创 算法设计与分析 SCAU19182 石子合并(基础版)

>此题 dp 思路是将所有区间以及需要的代价全部列出来,那么如何列出来呢?1. 对于 dp[l][r]:从 L 到 R 合并成一堆的最小代价,我们需要一个指针 mid,放在区间 [l, r] 中间,为什么需要这个 mid 呢?

2022-11-10 17:32:10 409

原创 算法设计与分析 SCAU11083 旅游背包(优先做)

dp[i][j][k] 表示从前 i 个物品中选,选出的总体积小于等于 j,总重量小于等于 k 的最优解。可以从 dp[1][1][1] = 0 开始遍历,有 n 个物品,需要 n 次遍历而在每件物品时都有 V 个容纳体积、W 个容纳重量可支配,再进行 V 和 W 次遍历(顺序可颠倒)。因此 dp[i][j][k] 不断由之前的状态更新而来。对我感兴趣的小伙伴可查看以下链接公众号:Smooth前端成长记录。

2022-11-06 16:08:42 661

原创 算法设计与分析 SCAU10303 数字三角(优先做)

1. 因为题目要求为:有多条路径,靠右的路径优先(即仅仅输出靠右的路径即可,无需多条路径都输出)。2. 所以此题若存在多条路径,如果按常规思路进行从上到下进行动态规划时,易出现**遍历到最后一行时,某一列为多条路径的最后终点**,而无法求出题目的第二要求:输出该路径上的数字。3. 所以我们可以换种方式:**逆向**求状态转移方程,即从下往上。好处是如果从上往下查看求完的 dp 数组,**不用到最后一行才知道路径值总和最大是哪个,而是从一开头就可以知道了**,因为从上往下沿着 dp 值大的那条路径往下遍历

2022-11-01 07:55:13 276

原创 算法设计与分析 SCAU19185 01背包问题 C++

我们将所有状态分为两类,第一类不含第 i 件物品,第二类含第 i 件物品,**取决于第 i 件物品体积是否大于当前背包所能容纳的大小**。例如:当前背包最大容纳量只有5,如果物品体积为7,那么很明显装不进来;**注意第二类只有在 v[i]

2022-10-31 10:03:23 531

原创 算法设计与分析 SCAU17965 幸运之星(优先做)

此题不要用递归来写,因为n,m

2022-10-29 21:51:26 252

原创 算法设计与分析 SCAU11086 排序问题再探讨

1,请改写一个"递归"的插入排序,排序a[0…n-1],先递归的排序a[0…n-2],然后再将a[n-1]插入到已排序的a[0…n-2]中去。2,自然合并排序,书上2.7节最后介绍的算法,请实现它。3,快速排序,选择"中位数"作为轴值然后进行左右段分区,请实现它。

2022-10-25 16:20:49 941

原创 算法设计与分析 SCAU11087 统计逆序对(优先做)

由图可看出,该题可以将数组分为一个个小块,在“治”的过程中合成每两个数组时,进行逆序对数量的判断

2022-10-24 11:10:19 289

原创 算法设计与分析 SCAU9718 整数因子分解(优先做)

大于1的正整数 n 都可以分解为 n = x1 * x2 * ... * xm, 每个xi为大于1的因子,即1

2022-10-21 16:53:10 419

原创 算法设计与分析 SCAU17088 分治法求众数(优先做)

给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数,编程任务:对于给定的由n个自然数组成的多重集S,采用分治算法编程计算S的众数及其重数。众数

2022-10-19 17:00:34 865

原创 算法设计与分析 SCAU8594 有重复元素的排列问题(优先做)

看到这个题目首先解题思路是1. 我们要求元素的所有全排列2. 我们要对求出的全排列去重

2022-10-19 12:50:27 478

原创 算法设计与分析 SCAU11076 浮点数的分数表达(优先做)

在计算机中,用float或double来存储小数有时不能得到精确值,若要精确表达一个浮点数的计算结果,最好用分数来表示小数,有限小数或无限循环小数都可以转化为分数,无限循环小数的循环节用括号标记出来。如:0.9 = 9/100.(3) = 0.3(3) = 0.3(33) = 1/3当然一个小数可以用好几种分数形式来表示,我们只感兴趣最简的分数形式(即分母最小),

2022-10-19 08:47:57 412

原创 算法设计与分析 SCAU11077 最长公共子字符串(优先做)

假设字符串 text1 和 text2 的长度分别为 m 和 n,创建 m+1 行 n+1 列的二维数组 dp,其中 dp[i][j] 表示 text1[0, i] 和 text2[0, j] 的最长公共子字符串的长度。例如:dp[3][4] 代表 text1 字符串前三个字符和 text2 字符串前四个字符的最长公共子字符串的长度。对我感兴趣的小伙伴可查看以下链接公众号:Smooth前端成长记录。

2022-10-14 00:04:22 281

原创 算法设计与分析 SCAU11084 多个串的最长公共子序列

假设字符串 text1 和 text2 的长度分别为 m 和 n,创建 m+1 行 n+1 列的二维数组 dp,其中 dp[i][j] 表示 text1[0, i] 和 text2[0, j] 的最长公共子序列的长度。例如:dp[3][4] 代表 text1 字符串前三个字符和 text2 字符串前四个字符的最长公共子序列的长度。对我感兴趣的小伙伴可查看以下链接公众号:Smooth前端成长记录。

2022-10-13 18:05:29 742 1

原创 算法设计与分析 SCAU8596 最长上升子序列(优先做)

当元素 ai1 < ai2 < ... < aiK. 就说这个序列是有序上升的。给定序列(a1, a2, ..., aN),存在许多这样的子序列(ai1, ai2, ..., aiK),其中1

2022-10-10 11:09:58 493

原创 手把手教前端从0到1通过 Node + Express 开发简易接口,项目开发+部署服务器(亲身痛苦经历)

相信有很多前端小伙伴会有编写简单接口进行测试的需求,但又不想花太高成本进行学习,因此这篇文章通过介绍如何通过 Node.js 编写简单接口并部署,来实现这个小需求

2022-05-16 16:31:16 1684

原创 一文教你通过 hexo 搭建自己的个人博客以及配置主题

一文教你通过 hexo 搭建自己的个人博客以及配置喜欢的主题,适合想拥有自己独特风格的个人博客的每一位小伙伴

2022-02-14 19:12:59 2695

原创 10分钟让你彻底理解如何配置子域名来部署多个项目

本篇文章将详细为你讲解如何配置子域名让你一台服务器可以同时部署多个项目,分为需求分析、CNAME记录添加、配置Nginx文件、添加新站点四个分支

2022-02-13 12:36:31 9381 3

C语言物品拍卖课程设计.zip

大一时完成的C语言课程设计作业,物品拍卖系统,代码量1k多行

2021-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除