随笔分类 -  知识点

摘要:初始化数组可不必使用n重for循环。 原理 memset具有初始化数组的功能,能够初始化数组中的每一个值。 它是将数组中的每一个数的二进制的每一个字节初始化的。 比如初始化int类型的a数组:memset(a,1,sizeof(a)); 得到的其实是0001 0001 0001 0001。 关于0x 阅读全文
posted @ 2019-05-25 23:07 尹昱钦 阅读(3199) 评论(1) 推荐(0)
摘要:题目 给定n个点的带权有向图,求从1到n的路径中边权之和最小的路径。 dijkstra实现方法 用dist[i]表示i这个点到原点的最短距离,一开始初始化为无穷大,然后将原点设为0。 用ok[i]表示i这个点是否已经确定了最短路,一开始将原点设为已经找到。 然后每一次枚举每一个点,找到与原点最近且没 阅读全文
posted @ 2019-05-24 21:30 尹昱钦 阅读(207) 评论(0) 推荐(1)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3388 模板题 解题思路 什么是割点? 怎样求割点? dfn :即时间戳,一张图的dfs序(dfs遍历时出现的顺序) 树边:连向孩子的边 反向边:连向祖先的边 low :即一个点能到达的时间戳最小的边(反向边只 阅读全文
posted @ 2019-05-24 19:59 尹昱钦 阅读(442) 评论(0) 推荐(2)
摘要:题目链接 https://www.luogu.org/problemnew/show/P3865 ST表的作用 ST表可以解决RMQ问题,即区间最大值、最小值 优点 速度快:预处理的时间复杂度是o(nlogn)。查询的时间复杂度是o(1)。 缺点 不支持修改操作 实现方法 ST表借助于一个数组实现: 阅读全文
posted @ 2019-05-08 21:59 尹昱钦 阅读(316) 评论(0) 推荐(0)
摘要:题目链接 https://www.luogu.org/problemnew/show/P1030 模板题 先讲一下二叉树的遍历 二叉树的遍历 分类 性质 求法 分为三类: 我们可知: **序遍历实际上是指根节点的位置 无论哪种遍历顺序,左子树都在右子树的前面 在前序遍历中,第一个点是根节点 在后序遍 阅读全文
posted @ 2019-05-01 15:56 尹昱钦 阅读(1030) 评论(0) 推荐(1)
摘要:核心代码 void insert(int u, int v) { e[eid].v = v; e[eid].next = p[u]; p[u] = eid++; } 例子 核心代码 void insert(int u, int v) { e[eid].v = v; e[eid].next = p[u 阅读全文
posted @ 2019-01-07 22:43 尹昱钦 阅读(305) 评论(0) 推荐(0)
摘要:空间复杂度优化 空间复杂度优化 1、优化原理 1、优化原理 原式子(二维的): f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]} 式子(1)现在要改成一维的(空间优化): f[v]=max{ f[v],f[v-c[i]]+w[i]} 式子(2) 注意上面的状态转移 阅读全文
posted @ 2018-12-20 22:18 尹昱钦 阅读(663) 评论(0) 推荐(1)