随笔分类 - 知识点讲解
摘要:浅谈分层图 本篇随笔简单讲解一下图论中的分层图问题。 一、分层图的概念 分层图,顾名思义就是分很多层的图。也就是类似二维数组,抽象地理解:不再是一个单一的平面图而是一个立体化的东西,不只有长宽,也有了自己的厚度——即为层数。 二、分层图的应用 建立 多层 相同或相似的 图, 并在图与图之间进行连边,
阅读全文
摘要:浅谈Tarjan算法 本篇随笔简单讲解一下Tarjan缩点算法。Tarjan算法支持很多东西,什么桥割点之类的,这里只介绍缩点的那个Tarjan。 一、前置知识和概念 Tarjan缩点的学名其实是Tarjan算法求强连通分量。那么介绍这些概念: 强连通:如果两个顶点可以相互通达,则称两个顶点 强连通
阅读全文
摘要:浅谈vector容器的奇技淫巧 本篇随笔简单讲解一下C++STL中vector容器的一些其他操作。 一、insert函数 insert函数的时间复杂度是的,就是暴力,要慎用。 大体用法是这样: #include <bits/stdc++.h> using namespace std; i
阅读全文
摘要:浅谈Dilworth定理 本篇随笔简单讲解一下算法竞赛中的Dilworth定理。 一、定理内容 对于一个偏序集,最少链划分等于最长反链长度。 其偏序集最小链划分的简单解释就是,对于一个序列,定下一个约束条件,这样,整个偏序集就会被划分成几个符合偏序约束的序列。这些序列被称为链。 可以再来个具体一些的
阅读全文
摘要:浅谈最大流最小割定理 本篇随笔简单讲解一下网络流中的最大流最小割定理。 一、前置知识 关于网络流,肯定是要懂的。 推自己博客: 浅谈网络最大流 关于割的定义 肖战割割 割顾名思义就是分割。将源点和汇点分割开。具体地,就是选取一些边删除,把源点和汇点分割到不同的两个点集。其大小等于边的容量和。那么最小
阅读全文
摘要:浅谈网络流Dinic算法 本篇随笔简单讲解一下网络流中的Dinic算法。 一、前置知识 浅谈网络最大流 一些基本定义 1、弧:网络上的有向边被称作弧。弧分为前向弧和后向弧。前向弧就是题目中给出的有向边,后向弧就是我们所建立的反边。 这样地、弧就有了容量、流量、零流弧、饱和弧这些建立在网络流边上的定义
阅读全文
摘要:浅谈网络最大流 本篇随笔简单讲解一下网络流中的网络最大流。 由于这是本蒟蒻的网络流第一篇讲解,所以也会连带介绍网络流的一些基本概念等问题。在后续的网络流讲解中(如果没退役还有的话),就会直接链接引到本篇博客。 本篇讲解的部分图片摘自知乎@Pecco、博客园@chc_1234567890,以及互联网。
阅读全文
摘要:浅谈一些有趣的区间问题 本篇随笔浅谈一下算法竞赛中一些有趣的区间问题。 一、最短区间点覆盖 给定一些点,用不超过个区间将其全部覆盖,要求区间长度最短。 解决方法: 考虑的限制,显然,个区间就可以使得其全部覆盖,区间总长度为0.所以一定比小,否则没有意义。 正向思考不是很
阅读全文
摘要:浅谈区间最小点覆盖 本篇随笔简单介绍一下区间最小点覆盖问题及其解法。 一、区间最小点覆盖问题的概念 就是给你一堆区间,请用最少的点,保证每个区间都至少包含一个点。 二、解决办法 考虑贪心。 按右端点排序,那么可以肯定的是,在这段区间内的所有左端点所代表的区间一定是都可以取的。 然后把这些区间删除。
阅读全文
摘要:浅谈莫队算法 本篇随笔简单讲解一下算法竞赛中的莫队算法。 一、莫队算法的概念及应用 莫队是莫涛。这个名字值得我们铭记一下。涨涨RP。 莫队算法的应用是离线解决一类不带修的区间查询问题。 莫队算法和线段树等数据结构在解决区间问题时的比较 很多人比如说我,可能会问。说那线段树解决区间问题为什么就不行了呢
阅读全文
摘要:分块写法感悟 听说有很多大神听完一个数据结构或算法的讲解就直接能自己模拟出这个算法。不需要模板。 TQL%%%学弟 然而我还得自己写写。 我太菜了。 以TJOI开关这道题为例。 分块的精髓在于整块,小块暴力,那么显然需要记录每个数位于哪个块里。想要知道每个数在哪个块里就需要记录块的大小,
阅读全文
摘要:分块算法设计思路 著名算法学家LGH:”多练根号算法“。 关于分块概念,有不懂的小伙伴移步:数据结构—分块 分块作为一种实用性比较强的根号算法,其本质其实就是优化暴力。但是这种暴力的优化其实能解决很多区间统计的问题。 对于设计一个分块算法,我们有了前面的认识,其实只需要解决这么几个问题: 首先,不完
阅读全文
摘要:浅谈偏序问题 所谓偏序问题就是多约束条件的元素统计问题。 看起来好像很难理解的样子? 比如一维偏序,就是有一种约束条件。 其实这个例子比较难举。举个排序的例子吧。 现在给出有一个乱序数列,请将其按从大到小的顺序排序。 这题的权值就是一个约束条件。......好牵强。 比如二维偏序。就是两种约束条件。
阅读全文
摘要:浅谈异或相关性质 感觉异或变得越来越常考。所以来浅谈一波异或的性质。 一、异或 异或也叫按位异或。就是对于两个数的二进制表示,相同的异或后得0,不同的异或后得1. 这都是基本常识,不多说。 二、异或的奇妙性质 异或可以看作不进位的加法。 根据异或的运算法则,这条性质是显然的。CF有一道题是比较正常加
阅读全文
摘要:重谈树状数组 蒟蒻在2019年7月31号就浅谈过一波树状数组。那时的自己还是萌新虽然现在也很菜。对位运算的理解、对树状数组的理解、对权值数据结构的理解都不是很深。然后还敢瞎浅谈。虽然谈的没什么太大错误。但是其实一直都没有对这个数据结构有很深的理解或者造诣。很多时候相同功能的操作宁可去拍一发线段树。因
阅读全文
摘要:浅谈三分法 本篇随笔简单讲解一下算法中的三分算法。 一、前置知识 要学三分的话,首先要对二分有一个了解和掌握。这是肯定的了。 尤其是二分答案,把求解转化为判定。 二、三分法的概念 刚刚已经提到过,二分答案是把求解转化成判定,但是其有一个很重要的适用范围:答案一定要满足单调性。这很显然。 但是如果答案
阅读全文
摘要:浅谈二项式定理 本篇随笔简单讲解一下高中数学的二项式定理。 基本数学知识了,不太想讲了,等高中数学老师吧。把公式记下来,不要背错。 至于推导...感觉想一想能想出来。但是也有比较严谨的证明。 那么其二项展开
阅读全文
摘要:浅谈01隔板法 本篇随笔简单讲解一下组合数学中的隔板法进阶(其实是特殊版本),01隔板法。 一、01隔板法的应用 在隔板法的探讨中,我们已经解决了一堆球放到篮子里,每个篮子必须至少放一个这类问题。 但是如果可以不放呢? 二、01隔板法的概念 其实大体还是隔板法,就相当于原先一个缝隙只能放一个板子,现
阅读全文
摘要:浅谈隔板法 本篇随笔简单讲解一下排列组合(计数原理)中的隔板法。 一、隔板法的应用 现在给你这么一个问题: 对于N个相同的球,放到M个相同的篮子里,有多少种摆放方案。 哇,看起来好麻烦的样子。 首先第一个篮子,有摆1、2、3、...个的可能(先不讨论摆0个) 第二个也有... 第二个摆多少,还要和第
阅读全文
摘要:浅谈多重集排列组合 本篇随笔简单讲解一下数学中的多重集排列组合。 一、多重集概念 集合的概念是唯一性。 多重集的特点就是不唯一性。 也就是同一种元素可以在多重集里面多次出现。 也就是multiset。 二、多重集排列数 假设多重集一共有个元素。那么对这个元素全排列,除掉相同元素的全排列的
阅读全文