acwing

阿维的博客日记1 个月前
acwing·双链表
AcWing双链表0索引记录头结点,1索引是尾节点,idx从2开始记录 L和R是前面的索引和后面索引的数组,e是存储的元素的数组,k+1的原因:k是表示第k个插入的元素, k ∈ [ 1 , inf ⁡ ] k\in [1,\inf] k∈[1,inf].但是 i d x ∈ [ 2 , inf ⁡ ] idx\in [2,\inf] idx∈[2,inf],所以如果要对应上数组里面的话,就要k+1 最后的遍历链表,循环终止i!=1的原因是开头设置了0索引是头结点,1索引是尾节点,i代表了索引,所以i!=1的时候就是没有到
阿维的博客日记2 个月前
算法·前缀和·acwing
acwing796-子矩阵的和-前缀和s矩阵是全局变量,维度n*m,从1~n和 1~m存储元素【0】【0】~【0】【m】和【0】【0】~【n】【0】分别存储的都是0.s矩阵刚开始是存储输入的元素,后面用于存储前缀和。
白鹿贞松4 个月前
数据结构·链表·acwing
Acwing 35. 反转链表定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。思考题:请同时实现迭代版本和递归版本。 数据范围 链表长度 [0,30] 。
Palp1tate4 个月前
c++·算法·acwing
AcWing 827. 双链表——算法基础课题解实现一个双链表,双链表初始为空,支持 5 种操作:现在要对该链表进行 M 次操作,进行完所有操作后,从左到右输出整个链表。
Layflok4 个月前
c语言·笔记·算法·acwing
AcWing算法基础课笔记 ------ 第五章 动态规划本篇文章是在Acwing种学习动态规划的笔记题解,其中的计数类dp不是很理解,就没有往上写。线性dp的意思就是对于求解每一个f[i]或者说是f[i][j]的时候都是一个接着一个的求解,或者是一层接一层的求解,而这个样子是线性的一个过程,所以叫做线性dp.
小程xy5 个月前
位运算·acwing
acwing 116. 飞行员兄弟"飞行员兄弟"这个游戏,需要玩家顺利的打开一个拥有 16 个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。
小程xy5 个月前
位运算·递推·acwing
AcWing 95. 费解的开关原题链接 你玩过“拉灯”游戏吗?25 盏灯排成一个 5×5 的方形。每一个灯都有一个开关,游戏者可以改变它的状态。
•)6 个月前
算法·acwing
AcWing 796. 子矩阵的和这个题的重点是仿照一维的数组,所以a[N][N]也是从1索引开始的。画个图举个例子就非常清晰了之所以不好理解是因为没画格子,一个格子代表一个点,就很好理解了。
爱跑步的程序员~6 个月前
递归·acwing
AcWing 1209. 带分数Problem: AcWing 1209. 带分数这是一个全排列+枚举的问题。我们需要找到所有的1-9的全排列,然后在每个全排列中枚举所有可能的分数形式,检查是否满足给定的条件。
爱跑步的程序员~7 个月前
acwing·二维前缀和
796. 子矩阵的和Problem: 796. 子矩阵的和这是一个二维前缀和的问题。二维前缀和的主要思想是预处理出一个二维数组,使得每个位置(i, j)上的值表示原数组中从(0, 0)到(i, j)形成的子矩阵中所有元素的和。这样,对于任意的子矩阵(x1, y1)到(x2, y2),我们可以通过四个前缀和的值快速计算出其和。
爱跑步的程序员~7 个月前
acwing
797. 差分Problem: 797. 差分这是一个差分数组的问题。差分数组的主要适用场景是频繁对原始数组的某一个区间进行增减操作。这种操作是区间修改操作,在这种操作下,差分数组只需要对区间的两个端点进行操作,时间复杂度为O(1)。 在这个问题中,我们需要对数组的某个区间进行加法操作,然后输出修改后的数组。我们可以使用差分数组来解决这个问题。
我是镜流的狗8 个月前
算法·模拟·acwing
FEB(acwing)有一个长度为 N的字符串 S,其中的每个字符要么是 B,要么是 E。 我们规定 S的价值等于其中包含的子串 BB 以及子串 EE 的数量之和。 例如,BBBEEE 中包含 2个 BB 以及 2个 EE,所以 BBBEEE 的价值等于 4。 我们想要计算 S的价值,不幸的是,在我们得到 S之前,约翰将其中的一些字符改为了 F。 目前,我们只能看到改动后的字符串 S,对于其中的每个 F,我们并不清楚它之前是 B 还是 E。 请你计算,改动前的 S有多少种可能的价值并将所有可能价值全部输出。
青春pig头少年8 个月前
c++·算法·acwing
AcWing 103. 电影(map、pair连用or离散化)其实上面这么长巴拉巴拉就是在说首先,每个科学家会的语言都不同。但是呢每部电影的字幕和语言是不一样的(字幕和语言一定不相同)
亿维数组1 年前
算法·深度优先·剪枝·迭代加深·acwing
【Acwing170】加成序列(dfs+迭代加深+剪枝)题解和一点感想本思路来自acwing算法提高课1.dfs算法基本思想2.对剪枝这个词有个简单的认识首先,什么是迭代加深呢?当一个问题的解有很大概率出现在递归树很浅的层,但是这个问题的解本身存在着很深的层,当这个很浅的层的对应分支在搜索顺序比较靠后的位置时,我们就会先搜索前几个很深的层,导致浪费大量时间,迭代加深就是为了解决这个问题(如下图所示)而存在的
亿维数组1 年前
c++·算法·深度优先·剪枝·acwing
【Acwing167】木棒(dfs+剪枝)超级详细题解!本题思路来源于acwing算法提高课木棍指题目输入数据所指的东西木棒指最后由木棍拼接而成的最长的东西1.dfs基本思想
亿维数组1 年前
c++·算法·动态规划·acwing
【Acwing1010】拦截导弹(LIS+贪心)题解本题有两问,第一问直接用lis的模板即可,下面重点看第二问思路是贪心:贪心流程:从前往后扫描每一个数,对于每个数: