05 2019 档案
摘要:【 2019/5/31】 在这五月的最后一天,我入了坑——参加这次青岛市的比赛。 先是登上洛谷,打了个卡,中平——忌:重构代码——心中不安。。。 早上十点就去了食堂——sbl(带队老师)没钱了,不请客…… 路上的司机态度真是不好啊QWQ,说个话也不能。。。 做了几个小时的车,终于到了(有点恶心)。
阅读全文
摘要:原理 0x的意思其实是十六进制,后面加的数其实就是一个十六进制数。 在十六进制中,我们知道a代表10,b代表11,c代表12,d代表13,e代表14,f代表15。 所以3f3f3f3f这个数用十进制数表示其实就是1061109567,是int中的一个比较大的数。而且在程序中,经常要相加,而这个数*2
阅读全文
摘要:初始化数组可不必使用n重for循环。 原理 memset具有初始化数组的功能,能够初始化数组中的每一个值。 它是将数组中的每一个数的二进制的每一个字节初始化的。 比如初始化int类型的a数组:memset(a,1,sizeof(a)); 得到的其实是0001 0001 0001 0001。 关于0x
阅读全文
摘要:题目 给定n个点的带权有向图,求从1到n的路径中边权之和最小的路径。 dijkstra实现方法 用dist[i]表示i这个点到原点的最短距离,一开始初始化为无穷大,然后将原点设为0。 用ok[i]表示i这个点是否已经确定了最短路,一开始将原点设为已经找到。 然后每一次枚举每一个点,找到与原点最近且没
阅读全文
摘要:题目链接 https://www.luogu.org/problemnew/show/P1339 最短路 解题思路 dijkstra直接过 注意: 双向边 memset ma数组要在读入之前 AC代码
阅读全文
摘要:题目链接 https://www.luogu.org/problemnew/show/P3388 模板题 解题思路 什么是割点? 怎样求割点? dfn :即时间戳,一张图的dfs序(dfs遍历时出现的顺序) 树边:连向孩子的边 反向边:连向祖先的边 low :即一个点能到达的时间戳最小的边(反向边只
阅读全文
摘要:题目链接 https://www.luogu.org/problemnew/show/P1025 解题思路 一道简单的dfs题,但是需要剪枝,否则会TLE。 我们用dfs(a,u,num)来表示上一个数为a,已经搜索完了a个数,现在的和是num。 1 #include<iostream> 2 usi
阅读全文
摘要:题目链接 https://www.luogu.org/problemnew/show/P1731 解题思路 既然看不出什么特殊的算法,显然是搜索。。。 dfs(u,v,s,r0,h0)分别表示: u为已经搜完的层数,v是现在的体积(不包括这一层),s是现在的表面积(所求的)(不包括这一层),r0是当
阅读全文
摘要:题目链接 https://www.luogu.org/problemnew/show/P1440 显然是一道单调队列题目…… 解题思路 对于单调队列不明白的请看这一篇博客:https://www.cnblogs.com/yinyuqin/p/10492882.html 这道题和模板唯一的不同点就是从
阅读全文
摘要:题目链接 https://www.luogu.org/problemnew/show/P3865 ST表的作用 ST表可以解决RMQ问题,即区间最大值、最小值 优点 速度快:预处理的时间复杂度是o(nlogn)。查询的时间复杂度是o(1)。 缺点 不支持修改操作 实现方法 ST表借助于一个数组实现:
阅读全文
摘要:题目链接 https://www.luogu.org/problemnew/show/P1030 模板题 先讲一下二叉树的遍历 二叉树的遍历 分类 性质 求法 分为三类: 我们可知: **序遍历实际上是指根节点的位置 无论哪种遍历顺序,左子树都在右子树的前面 在前序遍历中,第一个点是根节点 在后序遍
阅读全文