合集-graph
摘要:标题 from 题目背景。 题意:给你一个 DAG 然后在这个图上加一条边,加完之后不一定是 DAG。求满足如下条件的树的数量: 每个父亲到它的儿子们都有一条边。 先考虑是一个 DAG 的情况。发现答案即为 。原因显然。 麻烦的情况是它不是 DAG。发现多出来的非法的情况
阅读全文
摘要:果然自己想出来和看题解做出来是完全不同的感觉…… 首先考虑没有不相遇的限制条件怎么做。发现这个问题就是 P1144 再加上乘法原理。 然后思考如何处理相遇的情况。容易想到枚举相遇的点和边。首先从 和 开始各跑一遍最短路,
阅读全文
摘要:感觉完全没有 *2700? 看到题,猜测 不会很大,于是按照路径种类分类讨论一下路径 。下设 为最小质因数,并且更下面的情况不包括上面的情况。 这种显然 ,数量则为 \(\sum\limit
阅读全文
摘要:可撤销并查集好题。 首先考虑如果已经确定选哪两组,该怎么判断。发现是一个二分图判定的问题,拓展域并查集即可。 那如果要求出所有可能的两组的答案怎么办。首先,如果两组中至少有一组,在只加入组内边时就已经不可能是二分图了,这种情况就显然是不行的。 否则,可以考虑预先加入所有组内的连边,枚举每一种出现过的
阅读全文
摘要:很强的题。 结论:每个非 点的值一定是它到最近的 的距离。 证明:记该点值为 ,上文距离为 。考虑反证。 若 。 考虑该点到 的最短路。记路径上的点到该点的距离为 ,值为 。则 最小能取到 \
阅读全文
摘要:whk 考试前写题解攒 rp 有用吗 仍然是讲讲想出来的过程。 首先,我们只需要关心一个联通块中有哪些点,而不用关心图的具体形态。 然后,将每个连通块看作一个点,就变成了一个无根树计数问题,但是带权值。首先想到 prufer 序列。 prufer 序列的定义:一棵无根树中,每次将编号最小的叶子取出来
阅读全文
摘要:我不会高妙建树做法。喜提最劣解。差点被卡常,但是过了,赢。 考虑从后往前 dp, 为以 开头的路径方案数。考虑一个 能从哪些 转移来。发现 一定是从 开始,除了最后一个点,只经过 的点能到达的点。 这个条
阅读全文
摘要:==Ambiguous Encoding。orz Wu_ren。 直接选两个拼成的字符串不好刻画,考虑增量。定义一对合法的字符串 满足其中一个是另一个的前缀(这样才可能通过往后面加模式串变一样),每次往当前两个字符串中长度更短的后面塞一个模式串,使得一个字符串仍是另一个的前缀。 容易
阅读全文
摘要:图论基础题。但是想偏了想了半天。 考虑先对原图做一次 tarjan 求割边。处理 的答案。 最自然的想法是枚举所有边,断掉,再重新跑 tarjan。但是会超时。但是不难发现,只有 tarjan 建出的 dfs 树上的树边删去时,树的形态有可能改变。 这些边有 \(O(
阅读全文
摘要:首先发现行之间的先后顺序之和它在最后一次修改中修改成了什么有关。于是倒序考虑。 倒序考虑一列什么时候可以操作。如果有两行 的顺序之前没有被确定,在在这次操作被确定,而且不符合最后顺序的要求,那么这一列就是不能在这个时候被操作的。 于是可以对于每一列,记录还有多少对
阅读全文