08 2022 档案

摘要:众所周知, 如果我们用正常的分块做单点加区间求和, 时间复杂度高达 O(1)O(n1/2) (修改-询问). 然后你发现这太慢了. 于是你考虑改一下分块的大小. 我们更改块的大小为 n2/3, 整块的复杂度成功变成了 O(n1/3)! 但是散块的复杂度变成了 $O(n 阅读全文
posted @ 2022-08-13 20:23 pjykk 阅读(39) 评论(0) 推荐(0) 编辑
摘要:出处是 lyd 的蓝书。 有向图上的必经点、必经边问题比较复杂,我们只讨论给定起点和终点 s,t 的情况。 因为 DAG 的优秀性质,考虑使用乘法原理。 首先我们在原图上做 dp 预处理出 s 到其他点的走法的数量 sn(u),再在反图上做 dp 预处理出图上的点到 t 的走法的数量 阅读全文
posted @ 2022-08-03 19:52 pjykk 阅读(70) 评论(0) 推荐(0) 编辑
摘要:今日水博客( 众所周知我们使用链式前向星存图会有这样几句话: struct edge{int to,nxt;}e[maxm]; e[++cnt]=(edge){v,h[u],val}; h[u]=cnt; for(int i=h[u];i;i=e[i].nxt) { int p=e[i].to; / 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(25) 评论(0) 推荐(0) 编辑
摘要:OI-wiki 真是个好东西。 我们在求强连通分量或双连通分量的时候,常常会用 Tarjan 算法来进行缩点。 但是我们也有不用 Tarjan 的连通分量算法。 1. Kosaraju 算法 如果我们要求的是有向图上的强连通分量,使用 Kosaraju 算法是一个不错的选择。 该算法的码量相比 Ta 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(38) 评论(0) 推荐(0) 编辑
摘要:双连通分量的~~简单~~应用。 有向图的话就要上支配树了,可能之后会学(? 1. 无向图必经边 边双缩点。 显然一个边双内的结点间不可能有必经边,于是我们把所有的边双缩成一个点,用割边连起来,然后在形成的树上操作就行了。 代码懒得写了( 2. 无向图必经点 ~~圆方树~~点双缩点。其实就是一个东西。 阅读全文
posted @ 2022-08-03 19:27 pjykk 阅读(85) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示