代码菜鸡之小题精做
文章平均质量分 69
一题多解,不断优化
xxatz
这个作者很懒,什么都没留下…
展开
-
Tarjan算法求割点、割边、SCC(缩点)
文章目录Tarjan算法的应用无向图中求割点(割顶)求割边(桥)有向图中求SCC且缩点Tarjan算法的应用本文不介绍算法实现(毕竟其他算法实现太多讲的了),只提供自己整理的模板(我认为我这版代码看应该最舒服了)一些概念:割点割边SCCDCCTarjan算法:时间戳 dfn[i]dfn[i]dfn[i]搜索树回溯值 low[i]low[i]low[i]无向图中求割点(割顶)割边判定法则:xxx 是割点 ⟺ \iff⟺ 存在 xxx 的搜索树上的一个子节原创 2022-03-25 22:39:48 · 782 阅读 · 0 评论 -
背包问题汇总(背包九讲笔记)
背包问题是动态规划等算法的入门问题,这里列举一些常见类型规定:www数组代表物品重量(成本),valvalval数组代表物品价值,nnn代表物品数量,VVV代表背包体积01背包(动态规划):每个物品只能取一次(只有两种选择,取 ororor 不取)复杂度为O(n∗V)O(n*V)O(n∗V)注意 :建表时,每个位置由上一排相应(左上 ororor 正上)位置决定,因此一维数组时,循环背包体积必须从右往左二维数组:cin >> n >> V;for(int i.原创 2021-06-10 10:39:53 · 163 阅读 · 0 评论 -
最长上升子序列(LIS)与最长公共子序列(LCS)的优化
最长递增子序列(LIS)与最长公共子序列(LCS)的优化原创 2021-05-05 10:28:00 · 255 阅读 · 0 评论 -
最大子段和的四种方法
最大子段和的四种方法题目描述: 给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。参考题目:洛谷上的最大子段和 (洛谷上的题需要考虑负数的情况)1.纯模拟:复杂度为O(n3)O(n^3)O(n3)#include<bits/stdc++.h>using namespace std;#define MAXX 200005int n, a[MAXX], ans;int main(){ cin >> n; for(int i = 1原创 2021-04-20 15:16:22 · 344 阅读 · 0 评论