額,可以直接暴力,或二分,或者像我這麼sb 地分解質因數;
因為p是質數,所以a - b = 1;
二分即可;
大佬們都用並查集,可是我不會啊~
我只會線段樹的解法;
複雜度 : o(nlog^2n);
好像比並查集快一點點~
~~哈哈
注意兩種不合法的情況:
上面的兩個符合分別是交集,並集的意思;
然後二分,直接模擬就好了~~~
#include
#include
#include
#include
using
namespace
std;
const
int maxn=4000001;
int n,jl,jr,bl,br,t,l,r;
int b[maxn],delta[maxn];
struct hh ma[maxn],ss[maxn];
struct sh tree[maxn];
inline
bool cmp(hh a,hh b)
inline
int max(int a,int b)
inline
int min(int a,int b)
inline
void build_tree(int now,int l,int r)
inline
void push(int now)
return;
}inline
void change(int now,int l,int r,int v)
push(now);
if(l<=mid) change(now<<1,l,r,v);
if(r>=mid+1) change(now<<1|1,l,r,v);
b[now]=b[now<<1]+b[now<<1|1];
return;
}inline
int query(int now,int l,int r)
inline
bool check(int x)
else
}if(query(1,jl,jr)==jr-jl+1) return
false;
else
return
true;
}void solve()
printf("%d\n",r);
return;
}int main()
二分 假 數論 分數
nput 第一行包含兩個正整數n和p,表示選手的個數以及精度要求。接下來的n行,每行包含乙個0到100 閉區間 內的整數。output 輸出乙個實數,取p位有效數字,下取整。sample input 5 4 100 20 15 10 8 sample output 195.2 data constr...
數論 二分快速取餘
求12345 12345的所有約數 即因子 之和,並對其取模9901再輸出。key格式 ctf 這裡存在三個有趣的數學定理 1 整數唯一分解定理 2 約數和公式 3 同餘模公式 includeusing namespace std const int size 10000 const int mod...
Math Problem(數論 二分 字首和)
已知整數 a,a 3 除 192 的餘數是 1 求區間 l,r 之間滿足條件的 a 的累加和是多少?第一行是乙個整數 t 1 t 10000 表示樣例的個數。每個樣例包含兩個整數 l,r,1 l r 10 9。輸出描述 每行輸出乙個樣例的結果。1 1 101本題來自某大學acm訓練的題,由於我太菜只...