「题解」P10394 接连不断!
Soul_direction · · 题解
题目&题意
Link
即求出对于所给图集中全连通部分的数量。
分析&思路
第一眼,不免认为是道图论题,但观数据
从全连通入手,则有效边数量为
如果你观察力不错,可以很容易地发现,在第图
现在问题就转化为对于所有的
好拗口 qwq,接下来是更 「qwq」 的证明 qwq。
求证:当且仅当
证明:
设
则一定存在
当
可见,其中有
现在复杂度为
AC_Code:
#include <iostream>
#include <algorithm>
#include <queue>
#define int long long
#define maxn 10000010
#define inf 2147483647
using namespace std;
int T,m,n;
//快读快写
inline int read(){
int x=0,f; char ch=0;
while(!isdigit(ch)) f=(ch=='-'?-1:1),ch=getchar();
while(isdigit(ch)) x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
return x*f;
}
inline void print(int x){
if(x<0) x=-x,putchar('-');
if(x>9) print(x/10);
putchar(x%10+48);
}
inline void write(int x){print(x);putchar('\n');}
int find(int k){//质因子分解
int tmp=1;
for(int i=2;i*i<=k;i++){
if(!(k%i)){
tmp*=i;
while(!(k%i)) k/=i;
}
}
return tmp*k;
}
signed main(){
T=read();
while(T--){
n=read(),m=read();
int k=find(n),ans=(m+1)/k;
if((m+1)%k)++ans;
write(ans);
}
return 0;//完结撒花
}
结语&思考
写完题解,突然想起兔队的
这里会不会也做了什么暗示呢?
急忙去翻出题人,Into_qwq。
Into_qwq,这是不是暗示我们走进数中,从质因子思考呢?
离大谱。