题目地址:
以前做过的题目: i从0到n-1时,如果一个一个加会很慢,注意到如果mod a的序列 和mod b的序列都处在上升中,那么差距是一样的,这样跳的step就可以大一些~
注意下就是如果a,b都是1的话 ,跳步还是没有变动,直接特判为0就行。 还有step*(i%a-i%b)可能会超int 其中一个要用long long 存放
代码:
#include#include using namespace std;int min(int a,int b){ if(a >T; while(T--) { cin>>n>>a>>b; if(a==b) cout<<0< =n) { dis=dis*(n-i); } else { dis=dis*step; } ans+=dis; } cout< <