【算法】【一些小技巧】

8 阅读1分钟

atcoder.jp/contests/ty…

乘转除处理大数溢出

#include <bits/stdc++.h>  
using namespace std;  
using ll=long long;  
  
int main(){  
    ll a,b;cin>>a>>b;  
    ll t=1000000000000000000LL;  
      
    //lcm=a*b/gcd(a,b);  
    ll c=a/gcd(a,b);  
    //c*b<=1e18  
    //b<=1e18/c  
    //B ≤ floor (X) 完全等价于 B ≤ X  
    //因为 B 是整数!  
    if(b<=t/c){  
        cout<<c*b<<'\n';  
    }else {  
        cout<<"Large"<<'\n';  
    }  
}

atcoder.jp/contests/ab…

for(int p=0;p<sz;p++){
		while(p<q&&f(pl[p],pl[q])>n){q--;
		
		}if(p>q)break;
		res+=(q-p);

技巧:双指针

对每个p,q只会一直递减

而且这段区间里的都可以

atcoder.jp/contests/ab…

技巧:双指针

有些用lower_bound匹配差值的可以sort再双指针