摘要: 分块预处理,表示f[][],第i块到第j个数的答案 这样做的时候就可以大块直接查询,小块暴力查询 #include<bits/stdc++.h> #define getsz(p) (p?p->sz:0) using namespace std; typedef long long ll; typed 阅读全文
posted @ 2020-08-12 20:03 朝暮不思 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 这里必须要全部存图而不能直接判断原先最短路和给定特殊边的关系 因为我们如果用了某个特殊边,其实会影响到其他点最短路,使得他的最短路更小,我们直接判断,会导致本身的可以被删掉的答案,因为没用特殊边而不能删掉 所以本题的做法是,全部存下来后,记录某个点的最短路的个数 如果特殊边大于最短路,那就直接删掉 阅读全文
posted @ 2020-08-12 14:53 朝暮不思 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 这道题需要做一下模型转换,首先我们发现给定的边其实构成一个补图 如果我们暴力做这道题,那么就是遍历所有点,限制题目的边这样做收到了点的个数的制约 而我们可以这样想,我们把给点的边构图,那么其实就是求取他的补图的连通性 这里有一个好的发现就是,对于原来复杂度超时的代码来说,肯定是点数太多,才会超时,但 阅读全文
posted @ 2020-08-12 10:58 朝暮不思 阅读(139) 评论(0) 推荐(0) 编辑