摘要:
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
阅读(25)
评论(0)
推荐(0)
摘要:
考虑到有乘法和加法,因此要考虑一个优先的,考虑乘法优先,子节点的懒标记mul更新为mulm而add为addm+a。 点击查看代码 #include <iostream> #include <stack> #include <cmath> #include <algorithm> #include < 阅读全文
posted @ 2024-10-12 16:34
Aloongyy
阅读(12)
评论(0)
推荐(0)
摘要:
区间修改和区间查询的话,想到线段树,每次区间的内的操作就用区间长度减去已经亮了的灯的数量。然后将懒标记反转即可。 点击查看代码 #include <iostream> #include <stack> #include <cmath> #include <algorithm> #include <s 阅读全文
posted @ 2024-10-12 15:51
Aloongyy
阅读(17)
评论(0)
推荐(0)
摘要:
堆优化版:通过定义一个最小堆来实现普通版本中的查找操作 点击查看代码 #include <iostream> #include <stack> #include <cmath> #include <algorithm> #include <set> #include <vector> #includ 阅读全文
posted @ 2024-10-12 09:36
Aloongyy
阅读(30)
评论(0)
推荐(0)
摘要:
Dijkstra算法,用途:可以算出一个顶点到其余各顶点的最短距离,解决有权路径问题。时间复杂度O(n*n)。 核心思想:从起始点开始,采用贪心算法的策略,每次遍历到距离最近且为访问的顶点邻接节点,直到扩展到终点为止。 点击查看代码 #include <iostream> #include <sta 阅读全文
posted @ 2024-10-12 09:18
Aloongyy
阅读(92)
评论(0)
推荐(0)

浙公网安备 33010602011771号