随笔分类 - 图论
摘要:今天是双11又是疯狂星期四,所以vivo50。 比赛链接 T2 Description 给出 个点 条边的图,问有多少种边的子集使得全图是个联通的仙人掌。答案对 取模。 Solution 考场上面写 $4^n\t
阅读全文
摘要:link Solution md,早就把 Bell-Manford 忘干净了,一直在想着用 floyd 判负环。😢 首先排除 SPFA。然后发现 floyd 直接复杂度爆炸。我们考虑Bell-Maxford。我们假设已经确定了 ,设 表示走了 步到 ,如果 $
阅读全文
摘要:link Solution 非常厉害的题捏,可惜我什么都想不到/kk 我们首先转化一下,我们对于 计算这个长度变为 每次加入一个 ,当前权值 就变为 。这样就不需要在乎长度了。 所以我们可以考虑暴力设计状态 表示到了点 $
阅读全文
摘要:link Solution 可以看出对于两个点 ,如果存在 ,那么两者就不能在同一个栈。所以我们可以把这种关系连边,无解即是存在奇环,否则答案就是 的连通块个树次方。 似乎可以直接动态开点线段树优化建图?但是还有一种比较优美的做法。 考虑如何优化连
阅读全文
摘要:link Solution 可以看出的是,a 边所形成的连通块是固定的,然后 b 边的作用是把这些连通块串起来。 那么一条路径合法当且仅当不存在从一个 a 连通块通过 b 边出去然后又回来。正确性显然。 那么我们可以考虑一个暴力 dp 即是 表示已经走过了 这个集合里的
阅读全文
摘要:link Solution 首先考虑没有粉色边的时候怎么做,我们设 是可能成为答案的集合,可以看出我们可以先把 个点都加进去,每次随便选 ,假设是 ,那么我们就把 踢掉,可以看出最后一个点就是答案。 考虑一开始有粉色边怎么做。我们考虑先把强连通分
阅读全文
摘要:link Solution 首先不难想到倒过来,变成每次加入一个区间。 考虑如何判断,我们可以考虑用线段树进行优化,即对于一个子树左子树的叶子往右叶子的对应叶子节点连边,然后用并查集。 但是你发现有 个点,这样肯定是不行的。但是你发现这个题中有用的节点不多,对于未被操作过的线段树上
阅读全文
摘要:link Solution 我们可以看出的是我们可以在一条边上反复来回来拖延时间。于是我们就可以发现我们可以把边拆成奇偶分开来考虑。 我们可以设 表示到点 时间为偶数/奇数的最大时间,那么对于 连出去的一条时间为 到 的边(这个已经按奇
阅读全文
摘要:link Solution 已经被图论虐穿了。。。/kk 首先不难看出对于同一位置,可以用 s1 的字符往 s2 的字符连边,就成了一个大小为 的有向图。然后我们发现其实我们是要构建一个新图,每条边按时间顺序加入,使得原图中的 这条边在新图中可达,且路径时间单调递增,然后
阅读全文
摘要:都是用的调整法(而且我都做不出来),还是记录一下吧,毕竟我是构造废物(虽然每个方面都很废物)。 CF901D Weighting a Tree link Solution 我们首先考虑树的情况,可以发现我们可以一路递归上去,最后只需要判断根节点是否合法。 那么考虑非树的情况,发现在dfs树上有返祖边
阅读全文
摘要:Description Solution 以下纯属口胡,并没有写。 考虑对于一个图,如果存在两个点使得它们不包含对方的连出点集不同,那么我交换两者的编号还是一个合法图,那么就会抵消掉,所以我们只需要考虑任意两个点不包含对方的连出点集都相同的情况。 对于连出点集相同的情况,如果两者没有连边,那么我选最
阅读全文
摘要:link Solution 我们可以知道以下一些性质: 优美的图任意导出子图都是优美的 优美的图的补图也是优美的 优美的图与其补题最多一个联通 优美的图直径 那么,我们求最大独立集就可以用分治解决,注意需要使用启发式分裂。 Code #include <bits/stdc++.h
阅读全文
摘要:获奖名单 题目传送门 Solution 不难看出,若我们单个 连 ,两个连 ,除去中间过对称轴的一个两个组,就是找很多个欧拉回路。 直接来就好了。 Code #include <bits/stdc++.h> using nam
阅读全文
摘要:国际儿童节 题目传送门 Description Solution 不难想到,你只需要计算出: 然
阅读全文
摘要:今天写了NOI2016Day1的题,来写一发题解。 T2 网格 题目传送门 Description 次询问,每次给出一个 的传送门,上面有 个位置是蛐蛐,其余位置都是跳蚤,问至少要把多少个跳蚤换成蛐蛐才能使存在两只跳蚤不连通。 \(n,m\le 1
阅读全文
摘要:定义 最小树形图就是有向边的最小生成树。 朱刘算法 我们先考虑有根的情况。 可以想到的是,我们可以对于每一个非根的点选出一个权值最小的入边。在没有环的情况下这就是最优答案。考虑有环,可以想到的是,我们需要拆开环上的一条边然后继续搞。我们使用反悔贪心,先把环缩成一个点,再把以前指向这个环上某个点的边权
阅读全文