03 2022 档案

摘要:在EK算法后,今天又学会了ISAP算法(比EK快)。 它比EK快的原因是EK算法一次找一条增广路,ISAP算法一次找多条增广路。 ISAP算法思路: 1.从t开始将t的深度标记为1,bfs一遍整张图(每条原边都有一条反向对应边),求出每一个点的深度(一个点的深度是t到这个点的最小距离+1,一条边的两 阅读全文
posted @ 2022-03-29 19:45 zzzzzz2 阅读(130) 评论(3) 推荐(0) 编辑
摘要:先说一下网络流最大流是什么: 一个有向图,每条边有一个流量限制,我们需要求出从源点s到汇点t的最大流量。例子: 这个图的最大流就是20+20=40。 概念: 残量网络:根据原图所建的,经过通流量操作每一条边的剩余流量限度为它的总流量限度减去它所通过的流量。 增广路:残量网络中一条从s到t的路径可以使 阅读全文
posted @ 2022-03-28 19:39 zzzzzz2 阅读(333) 评论(0) 推荐(0) 编辑
摘要:从上周五开始学缩点,今天终于把代码敲过了,再次做一个总结(有好多问题需要总结)。 概念: 缩点:在一张有向图中,将图中的强连通分量缩成一个点。 连通分量:一个点集,是的点集中的点两两之间可以互相抵达。 强连通分量:这个点集中无法再加入一个新的点。 思路: 1.从一个未搜过的点开始,将这个点标记为正在 阅读全文
posted @ 2022-03-28 11:42 zzzzzz2 阅读(29) 评论(0) 推荐(0) 编辑
摘要:又是一个思路很奇妙的题(最近我看什么DP题都觉得很奇妙)。 先看题: 洛谷P1651 塔 题目描述 小明很喜欢摆积木,现在他正在玩的积木是由 N 个木块组成的,他想用这些木块搭出两座高度相同的塔,一座塔的高度是搭建它的所有木块的高度和,并且一座塔至少要用一个木块。每个木块只能用一次,也可以不用。目前 阅读全文
posted @ 2022-03-24 17:02 zzzzzz2 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一道自认为很妙的题,刚拿到题时一点思路没有,想到时真的觉得更妙。 先看题: 洛谷P1541 [NOIP2010 提高组] 乌龟棋 题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第N格是终点,游 阅读全文
posted @ 2022-03-21 19:43 zzzzzz2 阅读(116) 评论(0) 推荐(0) 编辑
摘要:最长上升子序列的nlogn的做法非常奇妙,学完在这里做个总结。 关于最长上升子序列,最基础的做法就是n2做法,判断从第一个点的位置到某个点这一段的最长上升子序列的长度就是要枚举出这个点的前面的点中比它小的里最长上升子序列长度最长的那个,在此基础上加1。 下面是重点,nlogn的做法。 思路: 1.需 阅读全文
posted @ 2022-03-20 15:34 zzzzzz2 阅读(68) 评论(0) 推荐(1) 编辑
摘要:一道二维DP题,但是需要用到贪心。 看题面: 洛谷P1281 书的复制 题目背景 大多数人的错误原因:尽可能让前面的人少抄写,如果前几个人可以不写则不写,对应的人输出 0 0 。 不过,已经修改数据,保证每个人都有活可干。 题目描述 现在要把 m 本有顺序的书分给 k 个人复制(抄写),每一个人的抄 阅读全文
posted @ 2022-03-18 20:49 zzzzzz2 阅读(230) 评论(0) 推荐(0) 编辑
摘要:这里是我学习LCA的最后一种方法——树链剖分。 那么首先就先讲一下树链剖分是什么: 补充一下一些概念,下面会用: 重儿子:一个节点的子节点中作为根节点的子树中节点最多的子节点。 轻儿子:一个节点的子节点中除重儿子的子节点。 链:起点为轻儿子或根节点,其余为重儿子的链。 树链剖分:顾名思义,将树剖成一 阅读全文
posted @ 2022-03-17 10:46 zzzzzz2 阅读(61) 评论(0) 推荐(1) 编辑
摘要:再学LCA,本来想学RMQ,结果只学会一半,另一半我用线段树写的。 首先,讲一下欧拉序,就是给一个树,从根节点开始,搜索到这个节点时,先在这个时候在序列中记录一下这个节点,然后依次搜索它的子节点,然后当从一个子节点回溯回来时,再在序列中记录一下这个节点,最后当这棵树都被搜索完后,所得到的序列就是这棵 阅读全文
posted @ 2022-03-16 21:35 zzzzzz2 阅读(48) 评论(0) 推荐(0) 编辑
摘要:今天继续学习LCA,今天学的方法是倍增。 倍增的思路非常简单: 1.用dfs求出每个节点的深度。 2.若查询的u,v不在同一深度,则将深度深的节点的深度更新至深度浅的节点的深度(就是将深度深的节点更新成它的父节点)。 3.判断两个节点是否重合,若不重合,都更新成父节点,直至重合,这个节点就是u,v的 阅读全文
posted @ 2022-03-16 19:24 zzzzzz2 阅读(68) 评论(0) 推荐(1) 编辑
摘要:LCA,求最近公共祖先。 给一棵树,树上的节点的祖先就是该节点的父节点、父节点的父节点……直到根节点(包括该节点),而两个节点的公共祖先就是一个节点既是两个节点中的一个节点的祖先,又是另一个节点的祖先,那最近公共祖先就是两个节点的公共祖先中离它们最近的一个。 现在求LCA,我只学会了Tarjan,所 阅读全文
posted @ 2022-03-15 20:34 zzzzzz2 阅读(50) 评论(0) 推荐(0) 编辑
摘要:一道数学题,就是纯推式子,式子很快就推出来了,但落了一步强制转换,查了好久。 先看题: 洛谷P2181 对角线 题目描述 对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。 例如,6 边形: 输入格式 输入只有一行一个整数 n,代表边数。 输出格式 输出 阅读全文
posted @ 2022-03-13 19:31 zzzzzz2 阅读(607) 评论(0) 推荐(0) 编辑
摘要:今日一题,我以为又是区间dp,结果写出六重循环,又想一想这不是只枚举一个端点就行吗。 先看题: 洛谷P1103 书本整理 题目描述 Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由 阅读全文
posted @ 2022-03-06 11:47 zzzzzz2 阅读(106) 评论(0) 推荐(0) 编辑
摘要:今天做了一道题,乍一看太难了,可仔细想一想就会发现这道题非常水(但思路还是很难想的,我是看到这道题有前缀和的标签才想到的)。 先看题目吧: 洛谷P3909 异或之积 如果打暴力,复杂度为O(n^3),最坏情况下是10^18,一定超时,那么就需要推一个便捷的式子,这里就需要开头说的前缀和。 下面讲思路 阅读全文
posted @ 2022-03-05 10:32 zzzzzz2 阅读(64) 评论(0) 推荐(0) 编辑
摘要:带修莫队首先是建立在莫队的基础上的,加入了修改,这时就需要在每个区间中加一个元素——时间,即本次查询前经历了多少次修改,再在莫队中每次查询都将修改时间改到本次(就是将修改不够的按时间增加修改,修改多了的按时间将修改恢复),这样就非常简单,于是我在写洛谷P1903 [国家集训队] 数颜色 / 维护队列 阅读全文
posted @ 2022-03-03 19:21 zzzzzz2 阅读(145) 评论(0) 推荐(0) 编辑