摘要: KMP 算法详解 - labuladong的算法专栏 阅读全文
posted @ 2021-07-16 09:23 淼畔 阅读(80) 评论(0) 推荐(0)
摘要: 这题搞了我半天…… 题意 这题给我们一个图,求这一个图的割点。 首先我们需要了解割点是什么,简单来说就是删除了这个点之后整个图不是连通图。 比如下图中的 \(②\) 就是割点*(图片来自OI Wiki)*。 方法 OI Wiki上对割点的讲解:link. 首先用dfs序给每一个节点打上时间戳*(图片 阅读全文
posted @ 2021-04-20 22:02 淼畔 阅读(144) 评论(1) 推荐(0)
摘要: 题目链接:T156527 直角三角形 审题 根据勾股定理,\(a^2 + b^2 == c^2\)。 当然,由于勾股定理不在小学数学考查的的范围内,我们需要对勾股定理进行一些证明,让小学生能够轻松地做出此题。 勾股定理的证明 赵爽弦图 这个↑,就是传说中的“赵爽弦图”。 赵爽(?-?),一名婴,字君 阅读全文
posted @ 2021-04-09 14:40 淼畔 阅读(422) 评论(0) 推荐(0)
摘要: 审题 这题一看数据范围就是裸的暴力…… 对于 \(1\sim n\) 之间的每一个整数,我们把它的每一位拆分,再相加,得到每一位的和,在判断这个和是否等于 \(9\),如果是,ans++。 解法 拆分的方法如下: 将这个数%10取得它的最后一位 将这个数/10删除它的最后一位 拆分的代码如下: bo 阅读全文
posted @ 2021-04-09 12:03 淼畔 阅读(84) 评论(0) 推荐(0)
摘要: 题目链接:P5318 【深基18.例3】查找文献 补:输入格式 第一行两个整数 \(n, m\)。 接下来 \(m\) 行,每行两个整数 \(X, Y\),表示文章 \(X\) 有参考文献 \(Y\)。 (其实这题的 \(n\) 并没有什么卵用……) 补:输出格式 \(2\) 行,每行$n$ 个整数 阅读全文
posted @ 2021-04-09 11:38 淼畔 阅读(237) 评论(0) 推荐(0)
摘要: 之前我看了很久都没有搞明白邻接表,现在终于差不多搞懂了,特此记录。 那么,邻接表是什么呢?邻接表嘛,就是邻接的表。 其实邻接表不好理解,主要是开的数组比较多,容易弄混,这一分钟好像弄懂了,下一分钟就不知如何下手了。 那么接下来: 每一个数组的作用 head[点的序号] = 从它出发的最后一次输入的边 阅读全文
posted @ 2021-04-08 19:38 淼畔 阅读(746) 评论(0) 推荐(0)
摘要: 题目链接:【模板】缩点 前言 这是一道模板题。需要学习强连通分量和缩点,还有最短路径算法。 审题 给一张图,找一条路径使点权和最大。 思路 先用tarjan算法求出这张图中所有的强连通分量,将它们缩成一点,建一个缩点后的图。 这次题目让我们求这张图上的一条路径,使经过的点权之和最大。看到“最”,就会 阅读全文
posted @ 2021-04-08 15:19 淼畔 阅读(552) 评论(0) 推荐(1)
摘要: 网上看了几篇博客,还有OI Wiki,觉得整合度不够,于是特意写了篇博客。 参考资料 全网最!详!细!Tarjan算法讲解。 强连通分量(SCC)与缩点 强连通分量 - OI Wiki 正文 在学习强连通分量和缩点之前,请务必理解邻接表。 以下有OI Wiki的内容,有大佬博客里的内容,也有我自己的 阅读全文
posted @ 2021-04-08 14:46 淼畔 阅读(6213) 评论(9) 推荐(8)
摘要: 首先声明,这篇博客很水。 随机函数需要用到的头文件有: #include <ctime> #include <cstdlib> 随机函数首先要设置rand()产生随机数的随机数种子,通常可以利用time(0)的返回值或NULL来当做种子。代码如下: srand((unsigned)time(NULL 阅读全文
posted @ 2021-04-06 22:22 淼畔 阅读(442) 评论(3) 推荐(0)
摘要: 题目链接:LibreOJ #6279. 数列分块入门 3 题面 题目描述 给定一个长为 \(n\) 的数列,以及 \(n\) 个操作,操作涉及区间加法,询问区间内小于某个值 \(x\) 的前驱(比其小的最大元素)。 输入格式 第一行输入一个数字 \(n\)。 第二行输入 \(n\) 个数字,第 \( 阅读全文
posted @ 2021-04-05 21:50 淼畔 阅读(161) 评论(0) 推荐(0)