摘要: 分析题目知道求一个最长上升子序列和一个最长下降子序列的长度均为同一个起点的最长的长度。于是求 点击查看代码 #include <iostream> #include <stack> #include <cmath> #include <algorithm> #include <set> #inclu 阅读全文
posted @ 2024-10-19 14:13 Aloongyy 阅读(5) 评论(0) 推荐(0)
摘要: 很明显的一个动态规划问题:后面的状态与前面的状态有关,dp[i][j]表示以i为结尾公差为j的等差数列的个数,所以状态转移方程就出来了。还有一个问题是公差为负的话考虑加上一个数,确保相减后的公差必为正数。 点击查看代码 #include <iostream> #include <stack> #in 阅读全文
posted @ 2024-10-19 13:58 Aloongyy 阅读(13) 评论(0) 推荐(0)
摘要: 要走两次因此,考虑一个四维的数组来实现,然后如果i=k&&j==l的话记得减一次即得到答案。 点击查看代码 #include <iostream> #include <stack> #include <cmath> #include <algorithm> #include <set> #inclu 阅读全文
posted @ 2024-10-19 10:57 Aloongyy 阅读(8) 评论(0) 推荐(0)
摘要: dp[a][b][c][d]表示走了a+b2+c3+d*4步的当前的最大值,状态转移方程就出来了。 点击查看代码 #include <iostream> #include <stack> #include <cmath> #include <algorithm> #include <set> #in 阅读全文
posted @ 2024-10-19 10:39 Aloongyy 阅读(14) 评论(0) 推荐(0)
摘要: 尝试了几次发现添加的字符数等于n-正着的和反着的最长公共子序列的长度,即为答案。正序与倒序“公共”的部分就是我们回文的部分,如果把正序与倒序公共的部分减去你就会惊奇的发现剩余的字符就是你所要添加的字符,也就是所求的正解。 点击查看代码 #include <iostream> #include <st 阅读全文
posted @ 2024-10-19 10:21 Aloongyy 阅读(50) 评论(0) 推荐(0)
摘要: 首先考虑动态规划,a[i]==b[j],f[i][j]=f[i-1][j-1]+1,否则 f[i][j]=max(f[i-1][j],f[i][j-1]);然后看了一眼数据范围,被卡的实施的,然后考虑优化,看到题目是一个排列于是不要考虑重复的问题,于是只在b里看,如果b[i]在a中的位置,小于我们维 阅读全文
posted @ 2024-10-19 10:09 Aloongyy 阅读(31) 评论(0) 推荐(0)
摘要: 题意:求出一个最长单调不增子序列和最少的个数的单调不加的子序列的个数。 根据dilworth:最少的全集个数等于最大的反链的元素个数。 可以将求最少的个数的单调不加的子序列的个数转化为求最长上升子序列的长度。 于是用二分+贪心来写 点击查看代码 #include <iostream> #includ 阅读全文
posted @ 2024-10-17 13:17 Aloongyy 阅读(16) 评论(0) 推荐(0)
摘要: 题意:区间求区间内的连续最大值和进行点修改。思考如何转移状态方程用lsum来表示该区间内从左边开始的最大值,rsum为区间内从右边开始的最大值。sum为区间的和,而ans为区间内的最大值, lsum可以由lc的lsum和lc.sum+rc.lsum得到, 而rsum可以由rc.rsum和rc.sum 阅读全文
posted @ 2024-10-13 13:27 Aloongyy 阅读(9) 评论(0) 推荐(0)
摘要: dp[i][a[j]]以每一个a[j]为结尾时上升子序列的长度为i:状态转移出来了:if(a[j]>a[k])dp[i][a[j]]+=dp[i-1][a[k]];满足条件则可以转移。可惜时间超限,分析状态的转移过程,到该状态即为前面的所有小于该数的状态得来,考虑用树状数组来维护即可。 点击查看代码 阅读全文
posted @ 2024-10-12 19:22 Aloongyy 阅读(18) 评论(0) 推荐(0)
摘要: 考虑到有乘法和加法,因此要考虑一个优先的,考虑乘法优先,子节点的懒标记mul更新为mulm而add为addm+a。 点击查看代码 #include <iostream> #include <stack> #include <cmath> #include <algorithm> #include < 阅读全文
posted @ 2024-10-12 16:34 Aloongyy 阅读(7) 评论(0) 推荐(0)