随笔分类 - 图论
图论
摘要:路程 题意 构造一个点数不超过 \(18\),边数不超过 \(45\) 的有向无环图,满足: 入度为 \(0\) 的点只有 \(1\),出度为 \(0\) 的点只有 \(114\); 从 \(1\) 到 \(114\) 的所有路径的边权和恰好为 \([0,n]\)。 思路 先想到可以把每个数二进制拆
阅读全文
摘要:消消乐 题意 在一个网格图中,有两种功能方块,一种可以引爆同一行的功能方块,一种可以引爆同一列的。 求最少引爆多少个功能方块能消除所有功能方块。 思路 先想到建图,每个横向的功能方块向同一行的功能方块连有向边,每个竖向的功能方块向同一列的功能方块脸有向边,最后缩点求出入度为 \(0\) 的点的个数即
阅读全文
摘要:黑暗城堡 题意 给出一张 \(n\) 个点 \(m\) 条边的图,求该图有多少棵生成树满足生成树上每个点 \(x\) 到 \(1\) 的最短距离 \(S_x\) 等于原图 \(x\) 到 \(1\) 的最短距离 \(D_x\),答案 \(\bmod 2^{31}-1\)。 思路 先考虑如何求出一棵满
阅读全文
摘要:[JOI 2013 Final]现代豪宅 题意 给出一个 \(n\times m\) 的网格图,每两个格子之间有一扇门。 初始上下方向的门都是开着的,左右方向的门是关着的。 有一些格子有按钮,可以把打开的门关上,关上的门打开。 走一步需要一秒,按按钮需要一秒,求从 \((1,1)\) 到达 \((n
阅读全文
摘要:[JOI 2024 Final] 建设工程 2 题意 给出一张图和 \(S\),\(T\)。可在任意两点 \(u,v(u<v)\) 之间添加一条长度为 \(L\) 的边(只可添加一次)。 求有多少种添加方案使得 \(S\) 到 \(T\) 的最短路长度 \(\le K\)。 思路 首先,若 \(S\
阅读全文
摘要:[2023四校联考3]sakuya 题意 给出一棵 \(n\) 个点的树,有 \(m\) 个特殊点 \(a\),求将 \(a\) 随机打乱后 \[\sum_{i=2}^m d(a_{i-1},a_i) \bmod 998244353 \]的期望。有 \(q\) 次修改,每次将一个点连接的所有边权值增
阅读全文
摘要:Atcoder Beginner Contest 372 A - delete . 模拟即可。 #include <bits/stdc++.h> using namespace std; using ll = long long; void solve() { char ch; while (cin
阅读全文
摘要:[POI2014] TUR-Tourism 题意 给出一张图,在这张图中,任意两点间不存在节点数超过 \(10\) 的简单路径。 第 \(i\) 个点被选的代价为 \(C_i\),每个节点要么选,要么与它直接相连的点中至少有一个被选。 求最小代价。 思路 图的生成树上状压动态规划。 由于给出的是一张
阅读全文
摘要:[SCOI2009] 迷路 题意 给出一张带权有向图,从 \(1\) 号点出发,必须在恰好 \(t\) 时刻到达 \(n\)。 中途不能停留,求有多少种方案。 思路 先考虑边权为 \(1\) 的情况,设 \(f_{t,i,j}\) 为从 \(i\) 走到 \(j\) 花费 \(t\) 个时刻的方案数
阅读全文
摘要:[NOIP 2024 模拟2]表 题意 给定质数 \(P\)。数 \(x\) 可以花费 \(|x-y|\) 的代价变为 \(xy \bmod P\),对于每对 \((a,b)\),求 \(a\) 变成 \(b\) 的最小代价。 思路 70 pts 暴力建图跑 Floyd,时间复杂度 \(O(P^3)
阅读全文
摘要:[COCI2020-2021#3] Vlak 题意 Nina 和 Emilija 在玩游戏。 Nina 先手,两人轮流在纸上写下一个字母。 每个玩家写下字母后得到的单词必须是该玩家喜欢的歌曲中某个单词的前缀。 不能操作的玩家输,判断最后谁会赢。 思路 对每个玩家喜欢的歌曲建立字典树。 搜索每个玩家的
阅读全文
摘要:PANDORA PARADOXXX 题意 给出一棵树,每次操作删除树上的一条边,询问树上所有连通块中直径的最大值。 思路 倒序操作,删边变为连边。 预处理出做完所有操作后的答案。 使用并查集维护连通性,记录每个连通块内直径的端点。 合并两个集合时,新的直径端点只可能是原来两个集合四个端点中的两个。
阅读全文
摘要:二叉苹果树 题意 给定一棵树,每条边有一个权值。 求留下 \(m\) 条边后与 \(1\) 连通的块内边权和的最大值。 思路 定义 \(dp_{i,j}\) 表示以 \(i\) 为根的子树留下 \(j\) 条边的最大值。 \[dp_{i,j}=\max_{k\in son_i}(dp_{k,t}+d
阅读全文
摘要:洛谷 P6419 [COCI2014-2015#1] Kamp 题意 一颗树 \(n\) 个点,\(n-1\) 条边,经过每条边都要花费一定的时间,任意两个点都是联通的。 有 \(K\) 个人(分布在 \(K\) 个不同的点)要集中到一个点举行聚会。 聚会结束后需要一辆车从举行聚会的这点出发,把这
阅读全文
摘要:洛谷 P5658 [CSP-S2019] 括号树 题意 给定一棵树,每个点有一个括号 ( 或 )。 定义 \(s_i\) 表示 根节点到 \(i\) 每个点的括号组成的序列。 求每个 \(s_i\) 中合法括号子串的个数 \(f_i\)。 思路 定义 \(g_i\) 表示 \(s_i\) 中以 \(
阅读全文
摘要:树的难题 题意 给出一个无根树。树有 \(N\) 个点,边有权值。每个点都有颜色,是黑色、白色、 灰色这三种颜色之一,称为一棵三色树。 可爱的 Alice 觉得,一个三色树为均衡的,当且仅当,树中不含有黑色结点 或者含有至多一个白色节点。然而,给出的三色树可能并不满足这个性质。 所以,Alice 打
阅读全文
摘要:黑白染色树 题意 有一棵点数为 \(n\) 的树,树边有边权。给你一个在 \([0,n]\) 之内的正整数 \(k\) ,你要在这棵树中选择 \(k\) 个点,将其染成黑色,并将其他的 \(n-k\) 个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间的距离的和的收益。问收益最
阅读全文
摘要:Easy树 题意 给出一棵树,要求你为树上的结点标上权值,权值可以是任意的正整数 唯一的限制条件是相临的两个结点不能标上相同的权值,要求一种方案,使得整棵树的总价值最小。 思路 有一个错误的贪心思路,即把树染色,较多的填 \(1\),较少的填 \(2\)。 这种思路可以被两个中心连在一起的菊花图 H
阅读全文
摘要:洛谷 P3469 BLO-Blockade 题意 给定一张无向图,求每个点被封锁之后有多少个有序点对 \((x,y)(x \ne y,1<=x,y<=n)\) 满足 \(x\) 无法到达 \(y\)。 思路 使用 Tarjan 求出割点,有以下几种情况。 当前点不是割点,答案为 \(2\times
阅读全文
摘要:洛谷 P2860 Redundant Paths G 题意 给定一张图,求最少添加几条边使得原图变为边双连通图。 思路 先将原图进行边双连通分量缩点,因为已经边双连通的子图我们不用考虑。 缩点后会得到一棵树,每一条边都是桥。假定有 \(k\) 个叶子节点。 我们可以把叶子节点两个两个配对连边形成环,
阅读全文