我们想一下,第几个生的。那他的孩子就是排在新一波出生的第几个上的。
然后我们通过瞎试得到。10^12<斐波那契的第60项。就是说我们不用建图(也建不下),每次最多60次暴力就可以了。
出题人真是个人才。
#include#include #include using namespace std;long long f[61];int find(long long val){ int l=1,r=60,mid; while(l >1; if(val>f[mid]) l=mid+1; else r=mid; } return l-1;}long long lca(long long a,long long b){ while(a!=b) { if(a