摘要:
不难发现起点必定是一个点。每次间隔的距离一定是 2k2^k2k,关键就是要判断两点是否在同一跳跃距离上可被同时覆盖。我们可以对上边进行 x1≡x_{1}\equivx1≡ x2mod(2∗dx)x_{2} mod( 2*dx)x2mod(2∗dx),这样... 阅读全文
摘要:
我们在线筛的同时处理出每个数的所有质因子,记忆化搜索的时候直接枚举质因子即可。时间复杂度为 O(nlogn)O(nlogn)O(nlogn)Code:#include#include#include#include#includeusing namespac... 阅读全文
摘要:
本题并不需要并查集,每次查询一次最近公共祖先,并倍增求出需要被新标记的路径。这样保证时间复杂度是 O(nlogn)O(nlogn)O(nlogn) 的。Code:#include#includeusing namespace std;const int ma... 阅读全文