E 题目意思:n之前有多少对是满足的。 打表找规律,可以发现一定是一组答案,令,式子就变成了,倍,可以证得。 原式子 移项 把看成常数的话,那么两个解由韦达定理就有: ,即;这个就是递推关系式如果是第一组答案的话,那么下一组答案就为; 第一组答案,由递推式,下面依次是:,,, 枚举x,直到答案超过了1e18,停止。只保留更大的那个答案,然后,二分查询。 代码: #include<bits/stdc++.h> using namespace std; #define bug(x) cerr<<#x<<" : "<<x<...