考虑向一个集合里添加一个数,它们的gcd要么不变,要么变成原gcd的一个约数.因此不同的gcd只有log个. 所以对于每个位置,维护一个表,存储从这个位置向前所有的不同的gcd及其初始位置,然后暴力更新答案,反正这个表不会很长. #include<cstdio> #include<algorithm> #include<cstring> using namespace std; #define N 100001 typedef long long ll; typedef…
gcd 跟那道cf题是一个原理... 每一时刻我们最多有log个gcd,那么我们用map存储每种gcd最左端,每次和新的数gcd就更新新的gcd的最左端,然后更新答案 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n, T; map<ll, int> tmp_l, Left; ll gcd(ll a, ll b) { return !b ? a : gcd(b, a % b); } in…
开篇前 <1,mongoc_init() func> mongoc_init() Synopsis void mongoc_init (void); Description This function should be called at the beginning of every program using the MongoDB C driver. It is responsible for initializing global state such as process count…