之前的题目:最大也就到2e5左右。1e9的数据范围就意味着,即使是O(n)的复杂度,也会超时。此时可以考虑使用数学方法进行解题。
❗打表:利用电脑去找一些合法答案,然后在这些合法答案中找规律。
⭐打表后找到的规律:
(1)好像所有的奇数都是合法的X,都可以用平方差表示。
(2)偶数中,只有4的倍数能够用平方差表示。
打表代码:
//打表找规律
void test(){
map<int,int>st;
for(int i = 1; i <= 100; i ++){
for(int j = 0; j