摘要: Link 题目描述 解法 每种颜色的点都可以构成一个序列,而把一种颜色改成另一种颜色,实际上是将一个序列接在另一个序列后面,同时将段数量维护一下。段数量如何维护?可以看出,对于每次修改,只有被修改的点可能会产生贡献,且只与这些点前一个和后一个点有关。如果修改了之后前后的点颜色相同,就将段数减一。事实 阅读全文
posted @ 2020-11-23 18:46 Kreap 阅读(98) 评论(0) 推荐(0)
摘要: 2020.11.23 解法 题目只要求求出 \(C\) 的值,它就提示我们 \(C\) 和 \(A\)、\(B\) 的值没有太大关系。照着这个思路我们把 \(A\) \(B\) 合并一下,搞成二元组。对 \(A+B\leq C\),\((A+B,C)\to(2(A+B),C-(A+B))\),对 \ 阅读全文
posted @ 2020-11-23 15:09 Kreap 阅读(82) 评论(0) 推荐(0)
摘要: 2020.11.21 解法 连接两个点的那条最大值最小的路径一定在最小生成树上,而又要查询这个最大值是多少,那么就想到建出克鲁斯卡尔重构树。由于可能不连通,所以最后建出来的实际上是重构森林,记得要把每个连通块都遍历到。 对于节点的连通性,直接用之前维护好的并查集就好了,不连通就输出-1,连通的话再在 阅读全文
posted @ 2020-11-23 14:38 Kreap 阅读(92) 评论(0) 推荐(0)
摘要: 2020.11.21 解法 把每种字符看成一个点,把每个简单词看成一条边(\(T=1\) 时是无向边,\(T=2\) 时是有向边)。那么问题就转换为寻找一条路径,使得该路径不重复地走过所有边,即寻找欧拉路径。 一张无向图包含欧拉路径,当且仅当所有点的度数为偶或者恰好有两个度数为奇的节点。一张无向图包 阅读全文
posted @ 2020-11-23 14:09 Kreap 阅读(129) 评论(0) 推荐(0)