摘要: 生成树,次小…… prufer 二分图 比赛:ARC补题和少量的AGC 阅读全文
posted @ 2024-04-12 20:24 Vegdie 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 假如题目名称不是“【模板】缩点”的话,是否能想到缩点? 这道题如何联想到缩点? 首先题目给出的图,可能存在强连通分量,这样的强连通分量中,所有的点权都可全部取到,所以如果走到分量之中的一个点,那么整个分量的点权都可以加上,且题目说点权非负了。这样缩点之后优化了空间时间,也避免了在连通分量中重复兜圈。 阅读全文
posted @ 2023-02-03 15:09 Vegdie 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 首先找出图中的强连通分量,用tarjan算法。强连通分量内部强联通,所以将其看成一个点是不影响的。 进行缩点之后,整张图变成了一个有向无环图。 首先对于每一条边进行检测,如果这一条边是连接两个团的,那么更新这两个团的出入度。这里我们知道,出度总和等于入度总和。 接下来再对于每个团遍历,如果这个团出度 阅读全文
posted @ 2023-02-02 09:42 Vegdie 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 给出 $N$ 个点,$M$ 条边的有向图,对于每个点 $v$,求 $A(v)$ 表示从点 $v$ 出发,能到达的编号最大的点。 这题有一个巧妙思路,构造反图,把依次找每个能到达的最大的点,转化为从大到小枚举每个点搜索当前点能到达的所有点,第一次找到的点一定是最大点。 反图思路就是建每一条有向边的反向 阅读全文
posted @ 2023-01-31 19:52 Vegdie 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 树上操作太薄弱了,根本想不出来。 思路: 首先自定义根做一遍dfs,求出sz数组,sz[i]表示i的子树大小。 在做第二遍dfs,对每一个点进行尝试,看能否为根。 当 x 点为根转移到 y 点为根时,sz发生变化, sz[x] -= sz[y] sz[y] += n - sz[y] 然后进行下一步搜 阅读全文
posted @ 2023-01-30 20:30 Vegdie 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 定义循环同构串——当字符串S中选定一个位置i满足S[i~n]+S[1-i-1]=T,最小表示发用来找到字符串中最小字典序的循环同构串。 类似KMP的思想。先破环成链,然后三指针比较。重点在于若 $S[i+k]>S[j+k]$ 则 $i=i+k+1$,这一点将算法优化了很多。 模板题: #includ 阅读全文
posted @ 2023-01-28 09:26 Vegdie 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 此题来到LCA较高等级运用。 这道题需要自己花一些树玩玩。 找到一些性质: 三个点的lca一定至少有两个是一样的;更多证明 集合点就是不相同的点; 同时还要会求树上距离 这里 $x,y,z$ 是三个人,$l$ 是重复lca,$p$ 就是集合点。那么距离就是 $dep(y)-dep(p)+dep(z) 阅读全文
posted @ 2023-01-26 10:25 Vegdie 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 分层图算法 将图分为 $k$ 层,层之间连权值为 $0$ 的边,跑一遍 dij 就好了。目前已近学会了基本分层图建法,anguei的偏dp思维还需要掌握。 类似的题目还有 P4822 [BJWC2012]冻结 #include <bits/stdc++.h> using namespace std; 阅读全文
posted @ 2023-01-24 22:58 Vegdie 阅读(32) 评论(0) 推荐(0) 编辑
摘要: P2260 [清华集训2012]模积和 求 $$\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{m} (n \bmod i) \times (m \bmod j), i \neq j$$ mod 19940417 的值 分析 假设 $n\le m$ $\begin{ 阅读全文
posted @ 2023-01-24 17:32 Vegdie 阅读(21) 评论(0) 推荐(0) 编辑
摘要: AtCoder284 D - Happy New Year 2023 [Editorial](Editorial - AtCoder Beginner Contest 284) You are given a positive integer $N$. It is known that $N$ ca 阅读全文
posted @ 2023-01-09 16:30 Vegdie 阅读(50) 评论(0) 推荐(0) 编辑