摘要:
动态规划问题往往相当让人头疼,学习了Tianyi Cui大佬的背包九讲,做个整理。 一、01背包 题目:(题目取自AcWing,链接https://www.acwing.com/problem/content/2/) 有 N 件物品和一个容量为 V 的背包。放入第 i 件物品耗费的费用是 Ci ,得 阅读全文
摘要:
朴素dijkstra时间复杂度$O(n^{2})$,通过使用堆来优化松弛过程可以使时间复杂度降到O((m+n)logn);dijkstra不能用于有负权边的情况,此时应使用SPFA,两者写法相似。 朴素dijk: 1 int dist[maxn];//距离 2 int g[maxn][maxn];/ 阅读全文
摘要:
在存图的时候,如果用二维矩阵存图容易爆内存,做算法题一般会使用vector<int> v[maxn]或者链式前向星。使用vector很容易理解,这里记录一下链式前向星的写法。 首先一个head数组为每个结点的头部,并且设置一个计数器(用处下文解释) int head[maxn]; int cnt; 阅读全文