会员
周边
众包
新闻
博问
闪存
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
WSR的安全屋
若不飞翔,梦想就会破灭。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
下一页
2019年11月11日
【Luogu P2515】软件安装
摘要: "Luogu P2515" 这道题的题面与P2146有点像。一些不同地方就是P2146是无环的,这题是有环的。 很显然,如果有几个软件的依赖关系形成环,那么这几个软件就可以被看成是一个大软件,其价值和空间都是原先的总和。 那么,我们就可以利用Tarjan算法求强连通分量+缩点,最后加一个树上的背包就
阅读全文
posted @ 2019-11-11 15:21 Nanjo
阅读(123)
评论(0)
推荐(0)
2019年11月9日
【Luogu P2024&P1892】食物链&团伙(并查集拓展域)
摘要: "Luogu P1892" "Luogu P2024" 这两道一眼看过去很容易发现可以用并查集来做——但是当我们仔细阅读题面后,会发现其实并没有那么简单。 我们知道并查集可以很轻松地维护具有传递性的信息,也就是“朋友的朋友就是我的朋友”这样的关系,但是普通的并查集并不能维护“敌人的敌人是朋友”这种关
阅读全文
posted @ 2019-11-09 23:06 Nanjo
阅读(134)
评论(0)
推荐(0)
【Luogu P3388】割点模板
摘要: "Luogu P3388" 在一个无向图中,如果有一个顶点集合,删除这个顶点集合以及这个集合中所有顶点相关联的边以后,图的连通分量增多,就称这个点集为割点集合。 如果某个割点集合只含有一个顶点X(也即{X}是一个割点集合),那么X称为一个割点。 为了便于理解,我们可以从狭义上进行分析:对于一个连通无
阅读全文
posted @ 2019-11-09 09:38 Nanjo
阅读(111)
评论(0)
推荐(0)
2019年11月8日
【Luogu P2002&P2341】消息扩散/受欢迎的奶牛
摘要: "Luogu P2002" "Luogu P2341" 使用强连通分量算法缩点 第一题统计入度为0的个数强连通分量数。 第二题的答案为当且仅当仅有一个强连通分量的出度为0时该强连通分量的节点数,原因如下:若一个强连通分量出度为0,则说明这个强连通分量的喜爱无法对外传递;若有多个强连通分量出度为0,则
阅读全文
posted @ 2019-11-08 22:21 Nanjo
阅读(123)
评论(0)
推荐(0)
【Luogu P3387】缩点模板(强连通分量Tarjan&拓扑排序)
摘要: "Luogu P3387" 强连通分量的定义如下: 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图
阅读全文
posted @ 2019-11-08 19:00 Nanjo
阅读(413)
评论(0)
推荐(1)
2019年11月7日
【Luogu P1439】最长公共子序列(LCS)
摘要: "Luogu P1439" 令f[i][j]表示a的前i个元素与b的前j个元素的最长公共子序列 可以得到状态转移方程: 时空复杂度都为O(n^2^) 对于本题这种做法显然是无法接受的。 我们可以对这个题目进行转化。仔细看题,可以发现a,b两个序列都是1 n的排列。 那么,我们可以利用映射,将a中的数
阅读全文
posted @ 2019-11-07 11:23 Nanjo
阅读(163)
评论(0)
推荐(0)
2019年11月6日
【Luogu P4779】dijkstra算法的堆优化
摘要: "Luogu P4779" 利用堆/优先队列快速取得权值最小的点。 在稠密图中的表现比SPFA要优秀。
阅读全文
posted @ 2019-11-06 14:53 Nanjo
阅读(166)
评论(0)
推荐(0)
【Luogu P2146】软件包管理器
摘要: "Luogu P2146" 由于对于每一个软件包有且只有一个依赖的软件包,且依赖关系不存在环。 很显然这是一个树形的结构。 再看题目要求的操作,安装实际上对应的是覆盖根节点到当前节点的路径,卸载则是覆盖该节点的整颗子树。 对于这样的操作,树链剖分+线段树可以很轻松地维护。 值得注意的是,根节点编号为
阅读全文
posted @ 2019-11-06 10:14 Nanjo
阅读(131)
评论(0)
推荐(0)
2019年11月5日
【Luogu P3384】树链剖分模板
摘要: 树链剖分的基本思想是把一棵树剖分成若干条链,再利用线段树等数据结构维护相关数据,可以非常~~暴力~~优雅地解决很多问题。 树链剖分中的几个基本概念: 重儿子:对于当前节点的所有儿子中,子树大小最大的一个儿子就是重儿子(子树大小相同的则随意取一个) 轻儿子:不是重儿子就是轻儿子 重边:连接父节点和重儿
阅读全文
posted @ 2019-11-05 14:40 Nanjo
阅读(156)
评论(0)
推荐(0)
【Luogu P1972】HH的项链
摘要: "Luogu P1972" 一开始非常naive随便打了个树状数组统计就交上去了,然后不出意料的爆零了…… 然后删一删改一改过了。 重点:对于区间[1,r]中重复出现的数,我们只需要关心最右边那一个是否在[l,r]中就可以了。 具体思路在代码注释中 cpp include include using
阅读全文
posted @ 2019-11-05 09:44 Nanjo
阅读(114)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
下一页
公告