恢复内容开始 看到的结论:E是边数,n是点数量。 Dijkstra(迪杰斯特拉):适用于权值为非负的图的单源最短路径,优先队列优化 O(E+nlgn) SPFA:适用于权值有负值,且没有负环的图的单源最短路径,SPFA的最坏情况是O(Vn). Floyd(弗洛伊德):任意两点之间的最短路径。O(n^ ...
分类:
其他好文 时间:
2019-08-07 22:18:23
阅读次数:
136
Poj AcWing Description 给定一个长度为N的序列 A,要求把该序列分成若干段,在满足“每段中所有数的和”不超过M的前提下,让“每段中所有数的最大值”之和最小. N<=105,M<=1011,0<Ai<=106 Sol 一篇比较清楚的题解 $OvO$ $F[i]$表示把前$i$个数 ...
分类:
其他好文 时间:
2019-07-27 13:03:14
阅读次数:
76
01背包 完全背包 二维费用(体积,重量) 分组背包 多重背包 1.枚举num 2.二进制拆分 用$1,2,4...2^n$可以表示出$2^{n+1}-1$以内所有的正整数 那么对1到$num[i]$进行拆分 得到多件大物品($1,2,4,8...$件物品的和) 之后跑01背包 单调队列优化 复杂度 ...
分类:
其他好文 时间:
2019-07-16 08:12:30
阅读次数:
117
数据结构进阶 堆 倍增 并查集 树状数组/线段树 树上差分/树剖 点分治 分块/莫队/整体二分 CDQ分治/离线分治算法 主席树动态规划基础DP模型 : 线性DP 背包DP 区间DP 树型DP 状压DP 环形DPDP优化 : 倍增优化 单调队列优化 数据结构优化 斜率优化图论最短路 生成树 LCA ...
分类:
其他好文 时间:
2019-07-02 18:57:24
阅读次数:
93
单调队列优化dp 我们将每个人的s值排序,这样我们就能保证当前这个人刷的木板一定在上一个人之后,我们就能进行线型dp 定义f[i][j]表示前i个人刷前j个木板获得的最多报仇,那么有 在dp过程中,我们假定外层变量i为定值,当j增大时,不难发现k的取值范围上界不变,下界变大。我们不妨比较一下两个决策 ...
分类:
其他好文 时间:
2019-06-07 22:44:03
阅读次数:
114
前言 前几天研究的Bellman_Ford算法虽然可以算负权,可是时间复杂度高达O(NM),即使是采用了队列优化,也有可能被网格图卡回O(NM),所以今天我们就来研究一个新的,更快的,但同时只能在正权图上运行的算法:Dijkstra(朴素Dijkstra算法) Dijkstra基本思想及实现过程 我 ...
分类:
编程语言 时间:
2019-06-05 16:30:17
阅读次数:
122
三要素: 1. 阶段, 2. 状态,决策和转移方程 3.边界和答案 线性DP 背包 区间DP 树形DP 环形DP 状态压缩DP 倍增优化DP 数据结构优化DP 单调队列优化DP 斜率优化DP 四边形不等式优化DP 计数类DP 数位统计类DP ...
分类:
其他好文 时间:
2019-06-01 15:18:44
阅读次数:
93
要点 较好的思路解析 $dp[i]$为到达$i$花费的最短时间,$dis[i] dis[j]=lim0$,因为是从头开始在距离上都合法所以不需要队列滑动,只要用变量维护最值即可。 ...
分类:
其他好文 时间:
2019-05-24 14:18:55
阅读次数:
99
偷懒直接把bzoj的网页内容ctrlcv过来了 2806: [Ctsc2012]Cheat Description Input 第一行两个整数N,M表示待检查的作文数量,和小强的标准作文库的行数接下来M行的01串,表示标准作文库接下来N行的01串,表示N篇作文 第一行两个整数N,M表示待检查的作文数 ...
分类:
其他好文 时间:
2019-05-07 21:25:18
阅读次数:
160
回顾多重背包 有n种物品,用大小为m的包来装,问获取的最大价值为多少。其中,第 i 种物品的重量,价值,个数分别为 w[i],v[i],c[i]. 那么,若f[i][j]表示考虑前 i 种物品,使用 j 的背包可获取的最大价值,状态转移方程为 for(int i=1;i<=n;i++) for(in ...
分类:
其他好文 时间:
2019-05-03 09:41:24
阅读次数:
171