算法
文章平均质量分 78
c++实现算法
SauseFree
这个作者很懒,什么都没留下…
展开
-
LCIS-最长公共上升子序列
的状态的值来取出最大的那个即可;然而,实际的朴素程序中重新做了一次循环遍历来计算最大值。循环时更新它的值即可,从而消除第三层循环,使复杂度变为平方级别。这个式子的意思即为考虑LCIS中的倒数第二个元素,假设为。增加时,在第三重循环的计算中只需要多比较一次。在这样的朴素算法中,需要三重循环,时间复杂度。, 在第三重循环下的判断条件中,)时,第三重循环仍然是在计算:当。,第三重循环等于在计算:当。的最长公共上升子序列的值;,只要它满足上升的条件(即。个字符中选出的结尾为。这一位公共字符的长度。原创 2024-06-20 19:43:49 · 840 阅读 · 0 评论 -
蒙德里安的梦想 | 详细代码注释
【代码】蒙德里安的梦想 | 详细代码注释。原创 2024-06-14 19:25:09 · 304 阅读 · 0 评论 -
最短路算法
适用于,时间复杂度On2。用邻接矩阵进行存图。原创 2024-06-13 10:19:01 · 436 阅读 · 0 评论 -
LIS与LCS
fi表示序列中前i个数的最长上升子序列长度最大值。考虑第i个数之前的第j个数,若有aiaj那么ai就可被更新为aj1。原创 2024-06-12 10:04:42 · 910 阅读 · 0 评论 -
树上dp-没有上司的舞会
第二种情况,不选择父节点,那么其子节点就没有任何约束。对每个子节点,都需要选择最好的方案(选这个子节点收益最大还是不选的收益最大);可以看作一棵树,每个节点都有权重;且选了父节点就不能选子节点,求最大值。来找到以任意节点为父节点所引申的子树的最大值(包括节点)。在实际程序中,首先使用vector用来储存树的结构;题目来自算法竞赛进阶指南。第一种情况,选择了父节点。依题意都不能被选择。结束后,最后使用后序。原创 2024-06-11 08:45:09 · 266 阅读 · 0 评论 -
正权边的树的直径
【代码】正权边的树的直径。原创 2024-06-11 11:54:52 · 139 阅读 · 0 评论