![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
算法的介绍与应用
Mr_Poseidon
这个作者很懒,什么都没留下…
展开
-
leetcode-1220统计字母序列数目(矩阵快速幂优化)
快速幂讲解,百度百科讲的非常不错: https://baike.baidu.com/item/%E5%BF%AB%E9%80%9F%E5%B9%82/5500243?fr=aladdin 矩阵快速幂,顾名思义就是把快速幂的计算方法转换到矩阵当中,加速底数是矩阵形式的n次幂计算。 在矩阵当中,最重要的是矩阵的乘法,由于没有矩阵运算模块,所以我们要自己写。此处只讲述时间复杂度为O(N3)的方法,若同学...原创 2020-03-03 22:15:42 · 276 阅读 · 0 评论 -
Acwing-320.能量项链(区间dp) C++
1.题目解释: 将一串能量珠合并成一颗能够释放的能量最大值的能量珠。 2.状态转移公式: dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+a[i]*a[k+1]*a[j+1]) 用dp[i][j]来代表区间(i,j)内所有珠子合成的这一颗能量珠所可能释放的最大能量。 合并珠子即合并左珠dp[i][k]和右珠dp[k+1][j],释放能量a[i]∗a[k+1]∗a...原创 2020-02-26 00:10:05 · 693 阅读 · 0 评论 -
leetcode-239滑动窗口问题(单调队列问题)
单调队列的两个重点: 1.维护队列的元素个数 2.保证队列的单调性 优化前后时间维度对比: 1.优化前:n*k(k为滑动窗口的大小) 2.优化后:n 总结: 由于维护了队列的元素个数和单调性,避免了元素之间的重复比较,所以把窗口的维度优化掉了,时间维度变成了数组长度n. 代码部分: //数组队列版 class Solution { public: vector<int> max...原创 2020-02-15 13:46:47 · 156 阅读 · 0 评论 -
多重背包-单调队列优化
/* 经典的滑动窗口问题(单调队列问题) 滑动窗口未优化:(n-k+1)(k-1)=nk --数值之间重复比较 滑动窗口优化: (n)=n --数值之间比较的时候直接排除,避免了重复比较的可能 将所有的 m%v 余数相同的归为一组,每一组中,数值之间的偏移量为 w 每一组只需要计算一次 在物品数量范围内的最优解,结合偏移量,即可得出每一组的结果 优化比较: 未优化: nm...原创 2020-02-15 13:50:07 · 378 阅读 · 0 评论