摘要: 寻找每一个点到原点的最小距离 阅读全文
posted @ 2019-01-21 21:54 yyyr 阅读(156) 评论(0) 推荐(0) 编辑
摘要: i 为点,k 为单向边 head[ i ] = k i 号点所出发的第一条边的编号为k nxt[ k1 ] = k2 k1 号边同起点的下一条边的编号为k2 to[ k ]= i k号边所指向点 val[ k ] = v k号边的边权为v 若为双向边,就建两个单向边 阅读全文
posted @ 2019-01-21 21:47 yyyr 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 数组:查找O(1),插入删除O(n) 链表:查找O(n),插入删除O(1) nxt[ i ] 是 i 点的下一个点 阅读全文
posted @ 2019-01-21 21:37 yyyr 阅读(161) 评论(0) 推荐(0) 编辑
摘要: v个人,e条边,时间复杂度O(ve) 能匹配就尽量匹配,不能匹配就尽可能改变之前的匹配来使这次可以匹配 阅读全文
posted @ 2019-01-21 21:33 yyyr 阅读(155) 评论(0) 推荐(0) 编辑
摘要: luogu P3366 【模板】最小生成树 在连接各个点的所有路径中,选取最短的路径连接所有点 n个顶点,e条边,时间复杂度O(eloge) kruskal主要思路: 输入边,用结构体储存 用结构体快排以边比较从小到大快排 建一个并查集,并初始化并查集(并查集代表两个点有没有在同一个树里面 for( 阅读全文
posted @ 2019-01-21 21:22 yyyr 阅读(113) 评论(0) 推荐(0) 编辑
摘要: luogu P3378 【模板】堆 luogu P4779 【模板】单源最短路径(标准版) 堆是一个完全二叉树 优先队列(系统自带小根堆) #include<queue>头文件 q.empty()如果队列为空,则返回true,否则返回false q.size()返回队列中元素的个数 q.pop()删 阅读全文
posted @ 2019-01-21 21:11 yyyr 阅读(133) 评论(0) 推荐(0) 编辑
摘要: luogu P3372 【模板】线段树 1 线段树专门用来处理区间问题的,包括最大值,最小值,和 阅读全文
posted @ 2019-01-21 20:58 yyyr 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 有许多种物品,每种物品有多个,个数已知,求最大价值 luogu P1776 宝物筛选_NOI导刊2010提高(02) 假设物品 a 有 34 个 那么将34拆分为1,2,4,8,16,3总共6个数 这6个数可以任意组合表示从1到34所有的数 那么就将1个a物品,2个a物品,4个a物品......各自 阅读全文
posted @ 2019-01-21 20:52 yyyr 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 有许多种物品,每种物品有无数个,求最大价值 luogu P1616 疯狂的采药 01 背包的滚动数组。我们要求倒序遍历,才能保证了每件物品只选用一次 将01背包的第二层循环反过来即为完全背包 此时无法保证每个物品只被选取了一次,相当于物品有无数个 阅读全文
posted @ 2019-01-21 20:46 yyyr 阅读(141) 评论(0) 推荐(0) 编辑
摘要: luogu P1588 丢失的牛 由树的顶点开始,遍历它的子节点,全部压入队列,之后再搜索子节点的所有子节点,是一层层搜索 阅读全文
posted @ 2019-01-21 20:43 yyyr 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 有许多种物品,每种物品只有一个,求最大价值 lougu P1048 采药 luogu P1049 装箱问题 luogu P1060 开心的金明 luogu P1164 小A点菜 dp[ i ] [ j ] 表示放前 i 个物品时,重量 j 能获得的最大价值 对于第 i 个物品,只有放与不放两种可能 阅读全文
posted @ 2019-01-21 20:36 yyyr 阅读(136) 评论(0) 推荐(0) 编辑
摘要: luogu P1434 [SHOI2002]滑雪 luogu P1219 八皇后 luogu P1605 迷宫 由树的顶点开始,向下搜索,直至到达树的根部,枚举每一种情况,返回 阅读全文
posted @ 2019-01-21 20:23 yyyr 阅读(200) 评论(0) 推荐(0) 编辑
摘要: luogu P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles 由下至上,算出每一条路径的最大值,存起来,直至三角形顶端 转移状态方程式: 阅读全文
posted @ 2019-01-21 20:16 yyyr 阅读(238) 评论(0) 推荐(0) 编辑
摘要: luogu P1439 【模板】最长公共子序列 将序列 a 中各个元素用 b 中相同元素的下角标代替,形成新的序列,这个序列的最长上升子序列就是 a 与 b 的最长公共子序列 不会证【雾】 阅读全文
posted @ 2019-01-21 20:10 yyyr 阅读(149) 评论(0) 推荐(0) 编辑
摘要: luogu P3902 递增 时间复杂度O(nlogn) 规定low[k]是长度为 k 的子序列的末位数 low 数组单调递增 对于序列中一个数 a[i] 有两种可能 1. a[i] > low[ans] 就是 a[i] 可以接在现在最长子序列的后面,形成新的最长子序列,low[++ans]=a[i 阅读全文
posted @ 2019-01-21 20:05 yyyr 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 定义:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。 解决:利用归并排序 时间复杂度O(nlogn) 阅读全文
posted @ 2019-01-21 19:44 yyyr 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 时间复杂度O(logn) P1843 奶牛晒衣服 P2678 跳石头 P1577 切绳子 当函数具有单调性时 在范围内 二分答案的一边可以而另一边不可以 通过二分把范围逐渐缩小 1.当了l<=r时,边界缩为mid-1与mid+1 2.当了l<=r时,边界缩为mid-1与mid+1 不确定是mid,m 阅读全文
posted @ 2019-01-21 19:37 yyyr 阅读(136) 评论(0) 推荐(0) 编辑