CF1780E Josuke and Complete Graph
虽然这题出没有啥水平,但是可以复习整除分块,所以写了一下。
首先你看到
但是没有出现
对于第一类,可以考虑整除分块,你整除分块得到的是
代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int mod=998244353;
const int INF=0x3f3f3f3f;
inline ll read()
{
ll x=0,f=1;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
while(c>='0'&&c<='9'){x=(x<<3)+(x<<1)+c-'0',c=getchar();}
return x*f;
}
void solve()
{
ll l=read(),r=read();
ll ans=0,n=l-1;
for(ll L=1,R;L<=n;L=R+1)
{
R=n/(n/L);
ans+=max(0ll,min(R,r/(n/L+2))-L+1);
}
cout<<ans+max(0ll,r/2-n)<<endl;
}
int main()
{
int T=read();
while(T--)solve();
return 0;
}