2026寒假训练3

知识点

基环树等图上问题。

  • 拓扑排序找环。

题目

老师题解

A

题目:给你一颗基环树,统计路径 \(\ge 1\) 的数量。\(n \le 2\times 10^5\)

题解:这是一个简单的统计题,采用拓扑排序找环的技巧,然后对于环上各点分别统计答案。注意一些细节即可。

B

题目:给你 \(m\) 条点之间的关系,像 \(A\)\(B\) 之间有一条有向边这种,问最少构造多少条边满足条件。\(n, m\le 10^5\)

题解:分成不同的连通块,若当前的连通块大小 \(siz\),如果有环,花费 \(siz\),否则花费 \(siz - 1\)

C

题目:给你一个 \(n\) 个点 \(m\) 条边的无向连通图,每个点有点权,给定起点 \(s\),问能否找到一条路经使得没有连续经过重复一条路(看详细题面)是的点权和最大(不重复计算)。\(n,m\le 2\times 10^5\)

题解:发现环内的点绕环一圈后可以回到,并且环与环之间路径上的点边都可以重复经过,于是多个环和它们之间的路径可以合并成1个大环,这个大环可以用拓扑排序直接找出。考虑每个环上的点延伸出去的路径(不在环上),都是死胡同,这样可以DP,\(dp_i\) 表示从 \(i\) 所在的死胡同头(到环的话是尾)出发到 \(i\) 的权值和,最后统计一下答案就行了,DP过程可以在拓扑排序过程中完成。

D

题目:给你一个 \(n\) 个点 \(m\) 条边的无向边带权图 \((m-n\le20)\)\(q\) 次询问 \(u,v\) 之间的最短路。\(n,m,q\le 10^5\)

题解:这个 \(n-m\le 20\) 真的很显眼耶!先建出一颗生成树,然后发现非树边最多只有 \(21\) 条,这些边连接的点我们称作关键点,最多只有42个关键点,对这些关键点都跑一边单源最短路,查答案的时候枚举关键点,再看一看 \(u,v\) 到关键点的距离之和,最后于 \(u,v\) 树上两点的距离取个 \(\min\) 即可。

F

题目:每天可以考1场试,\(n\) 科考试有两场不同时间的考试(选其中一场来考),问能否安排使得每科考试都能考到,可以的话求最早考完的时间。\(n\le 10^6\)

题解:两场不同的考试让人很有一种连无向边边建图的冲动/doge,又形成了多个不同的连通块。

1、如果边数等于点数 即为一个基环树,那么明显 这个连通块的最后时间为 权值最大的点。
2、如果边数小于点数 即为一个树,那么连通块的最后时间为 权值次大的点。
3、如果边数大于点数 那么就冲突了, 无解。

最后取 \(max\) 即可。

G

题目:不想抄了,自己看。

题解:这题转化真挺难的。神秘转化,发现树上不可以同时选三叉,于是变成DP题,\(dp_{u,1/0}\) 表示选 \(u\) or 不选 \(u\) 的最大价值。(这道题有空再写详细题解吧)。

posted @ 2026-02-02 19:42  lcx_OIer  阅读(0)  评论(0)    收藏  举报