随笔分类 - 图论
摘要:题面 人与人之间总有一点距离感。 我们假定两个人之间的亲密程度跟他们之间的距离感成反比,并且距离感是单向的。 例如小蓝对小红患了单相思,从小蓝的眼中看去,他和小红之间的距离为 \(1\),只差一层窗户纸;但在小红的眼里,她和小蓝之间的距离为 \(108000\),差了十万八千里…… 另外,我们进一步
阅读全文
摘要:三角 \(ZGY\) 有一个三角,就像下面这样(每一个点都有一个权值)。 第 \(1\) 层有 \(1\) 个,第 \(2\) 层有 \(2\) 个,第 \(i\) 层有 \(i\) 个。 这个三角一共有 \(n\) 层,\(ZGY\) 每次可以从第 \(i\) 层的第 \(j\) 个走到第 \(i
阅读全文
摘要:题面 最长不下降子序列问题 题解 最长不下降子序列就直接跑动态规划即可。 数量问题考虑网络流。 把每个点拆成左右两个点。 如果一个数是最长不下降子序列的启示,即 \(dp\) 值为 \(1\)。那么把源点连向它。然后每个数的左点连向右点。 对于在数 \(x\) 后且比数 \(x\) 大的数 \(y\
阅读全文
摘要:题面 家园 / 星际转移问题 题解 一道比较新颖的题。 竟然是枚举答案加动态加边。 其实模拟一下不难发现,因为每个时刻飞船的位置是固定的,所以我们一开始就设法去建完整张图的话,会发现不能保证这个条件。 所以我们直接枚举时间,能够全部送到了,那肯定就是最短时间。然后每次在分层图上连接飞船上个时间处于的
阅读全文
摘要:题面 餐巾计划问题 题解 隐式图问题。 我们考虑建立分层图,那么每层的状态即为时间,将每天拆成两个点,分别表示早上和晚上。 从源点向表示晚上的点连流量为当天所用餐巾数 \(r_i\),费用为 \(0\) 的边,表示每天晚上得到 \(r_i\) 条脏餐巾。 从表示早上的点向汇点连流量为当天所用餐巾数
阅读全文
摘要:题面 [魔术球问题](https://www.luogu.com.cn/problem/P2765) 题解 做法有两种,找规律和网络流。 这里提供网络流的做法。 对于一个数 \(i\) 我们向能与它构成完全平方数的数 \(j\) 连边,那么如果我们对它进行二分图匹配的话,匹配边是不是就相当于是 \(
阅读全文
摘要:题意 $n$个点,\(m\) 条边的无向图,求出 \(t\) 条路径,使路径中最长的边最小。 题解 看到最大的最小应该能马上想到二分答案。 于是我们差的就是一个 check 函数了。 不正确暴力 从点 \(1\) 出发遍历,将遍历的边及其反边打上标记,直至有 \(t\) 条路径为止。 这么一看感觉仿
阅读全文
摘要:提交 这是一篇良心的题解 这道题不打开标签还是能看出是差分约束的,但是和板子的差分约束有点不同,它的不等式中未知项不止两个,但是,这些未知项都是连续的,自然我们不难想到用前缀和的形式来表示。 关于翻译错误 仔细看一下原文的题面是能够看出来的,应该是: \(a_x + a_{x + 1} + … +
阅读全文
摘要:题面 [POI2008]BLO-Blockade 题解 深度优先遍历这幅图。 设 \(siz[x]\) 表示在搜索树中,以 \(x\) 为根的子树的大小。 注意不连通的关系是双向的,所以$(x,y),(y,x)$算两次。 对于当前点 \(x\),有两种情况: \(x\) 是割点 那么删去 \(x\)
阅读全文
摘要:题面 软件安装 题意 一个裸的树形背包问题 解析 缩点 从某个物品依赖的物品向这个物品连边,得到一个有向图。 这时我们会发现,在一个强连通分量里,如果想要有价值的话,必须全部选,根据贪心的思想,对于一个强联通分量,要么全部选,要么全部不选,所以我们可以把这幅有向图进行缩点。 因为每个物品只有一个依赖
阅读全文
摘要:题面 P3530 [POI2012]FES-Festival 题意 在满足给定的条件下,求出赛车手的成绩可能的取值有多少种。 解析 差分约束 不等式关系自然联想到差分约束。 对于第一种不等式 因为给定了相差的值,所以建双向边: \(dis[i] \leq dis[j] - 1\) \(dis[j]
阅读全文
摘要:题面 2-SAT模板题 题目描述 有 \(n\) 个布尔变量 \(x_1\) ~ \(x_n\),满足 \(m\) 个形如 \(x_i=true/false\) 或 \(x_j=true/false\) 的条件 。 输入 第一行两个整数 \(n\) 和 \(m\),意义如题面所述。接下来的 \(m\
阅读全文
摘要:题面 巡逻 题目大意 在一颗边长为 \(1\) 的树上,添加一条或两条长度为 \(1\) 的路径,使遍历完整幅图,且经过添加的路径正好一次,并回到起点的路径长度最短,并输出这个长度。 题解 不加的情况 根据深搜的特点,每条路径必定会经过 \(2\) 次,即第一次访问和回溯。所以在不加的时候,最短路径
阅读全文
摘要:题面 小店购物 题解 这道题建边方式很套路。 定义有向边 \((u,v,w)\) 表示买了 \(u\) 之后,能以边权 \(w\) 的价格买 \(v\) 。 对于原价的物品,建一个超级源点,分别连接每个物品。对于特价的物品,根据以上的定义,连接两个有依赖关系的物品。 因为通过这样的定义方式,每个物品
阅读全文
摘要:题面 道路 双倍经验 题解 题意 对于每条道路,求出有多少条最短路经过它。 解析 先看看数据范围,不算大。 所以我们分别以每个点为起点,用 \(SPFA\) 求出每个点到源点的最短距离。 不难发现对于边 \((u,v,w)\),如果 \(dis[u] + w == dis[v]\),那么这条边一定在
阅读全文
摘要:题面 运输计划 题解 因为在写树剖的时候写崩了,所以这里提供一个 \(lca\) 的做法。 虽然有人说 \(lca\) 会被卡,但是我觉得用 \(tarjan\) 写出来复杂度也不假。(复杂度分析在下文) 前言 读完题不难发现,其实我们要清空权值的边就是在清空它之后,能把最长的路径降到最小。最大的最
阅读全文
摘要:题面 LCA 题解 前言 题意很好理解,注意深度和我们平常理解的深度相比还要加一。 首先暴力的方法肯定是直接枚举求两个点的 \(LCA\) 的深度,复杂度是 \(O(mnlogn)\)。 考虑对暴力的优化,用 \(tarjan\) 离线求,然后 \(O(1)\) 查。但是时空间都不允许。 于是我们必
阅读全文
摘要:题面 严格次小生成树 题解 小蓝书 + 我自己的补充 做法 题意很好理解吧。 设最小生成树的边权之和为 \(sum\)。 我们要找严格次小生成树,就是要找到这样的一条非最小生成树上的边,满足: 将最小生成树上的某条边替换成这条边后,树依然联通。 这条边与被替换边的权值之差最小,且大于 \(0\)。
阅读全文

浙公网安备 33010602011771号