题目大意:
给你一个长方形面积和一个最小可能的边长,统计有多少种满足面积相等且边长大于等于最小边长的长方形。
解题思路:
正常的对a开方然后找因子会超时,用唯一分解定理先找出面积a的因子数量,如果b*b>a则答案为0,否则从1-b暴力找一下满足条件的因子,最后减去即可。这个题我用欧拉筛求素数表的时候莫名的超时,百度了一下换成埃式筛居然过了。。。什么鬼啊,欧拉不是最快的线性筛选法吗?给个超时是什么情况。。
TLE代码:
#include<iostream>
#include<cstdio>
#include<fstream>
#include<set>
#include<cmath>
#include<cstring>
#include<string>
#include<map>
#include<vector>
#include<iomanip>
#include<cstdlib>
#include<list>
#include<queue>
#include<stack>
#include<algorithm>
#define inf 0x3f3f3f3f
#define MOD 1000000007
#define mem0(a) memset(a,0,sizeof(a))
#define mem1(a) memset(a,-1,sizeof(a))
#define meminf(a) memset(a,inf,sizeof(a))
#define MAXN 1000100
typedef long long ll;