01 2020 档案

摘要:浅谈迭代加深 本篇随笔简单讲解一下算法竞赛中搜索算法中的迭代加深DFS。 为什么需要迭代加深 先来上发讲解图: " " 在学习迭代加深深搜之前,我们先简单回顾一下深搜。深搜的本质是对图的深度优先遍历。也就是“先往深了走,走完了没找到就换条路继续走”。对于那种无法一眼看出来是图论的问题,我们需要先把问 阅读全文
posted @ 2020-01-27 18:55 Seaway-Fu 阅读(4730) 评论(3) 推荐(5) 编辑
摘要:浅谈传递闭包问题 本篇随笔简单讲解一下算法竞赛中的“传递闭包问题”。 传递闭包问题的概念 简单地来讲,传递闭包问题就是一类具有传递性的问题。 放一波标准定义: 在交际网络中,给定若干个元素和若干对二元关系,且这些关系具有传递性, 通过这些传递性推导出尽量多的元素之间的关系的问题 叫做传递闭包。 也就 阅读全文
posted @ 2020-01-27 10:41 Seaway-Fu 阅读(2699) 评论(1) 推荐(1) 编辑
摘要:详解权值线段树 本篇随笔详细讲解一下算法竞赛中的一种数据结构——权值线段树。 前置知识 在讲解权值线段树之前,我们首先要明确:权值线段树属于一种线段树,它的本质仍然是线段树。所以在学习权值线段树之前,如果还对普通线段树并没有一个深刻的了解的话,请先移步这篇博客来学习简单线段树。 简单线段树知识点详解 阅读全文
posted @ 2020-01-26 17:05 Seaway-Fu 阅读(11659) 评论(19) 推荐(16) 编辑
摘要:算法竞赛中桶的概念与应用 在算法竞赛和计算机科学中,有一种特殊的数据结构,我们把它叫做——桶。 有许多和桶有关的算法和数据结构,想要学习它们,必须先明确好桶的概念与应用。 桶的概念 刚刚已经讲过,桶是一种数据结构。数据结构的用途是以一种特殊方式统计数据,使得我们能够快速地修改、查询我们想要的那部分数 阅读全文
posted @ 2020-01-22 19:18 Seaway-Fu 阅读(3907) 评论(0) 推荐(3) 编辑
摘要:浅谈Miller-Rabin素数检测 对于素数判断的操作,我们通常使用的是时间复杂度为O(N)的试除法。按理说这种复杂度已经是较优秀的了,但是假如给定的需要判断的数极其之大,并且给定的时限不够以O(N)的试除法来判断,该怎么办? 题出错了 想得美。 于是,今天的主角出 阅读全文
posted @ 2020-01-21 19:38 Seaway-Fu 阅读(2563) 评论(2) 推荐(1) 编辑
摘要:如何证明辗转相除法(欧几里得算法) 欧几里得算法是数学中用来求解最大公约数的一种最普遍算法。在了解欧几里得算法的证明过程之前,建议大家先来了解一下求解GCD(最大公约数)的两种方式,博客链接在下: "求解GCD问题的两种方式" 于是我们知道了,所谓的 欧几里得算法 就是这么一个东西: $$ \for 阅读全文
posted @ 2020-01-21 14:01 Seaway-Fu 阅读(1576) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示