Consider the two-point answer. and 1.. In n he likes about 3/5 of the total.
Consider the function and the principle of repulsion, the answer.
#include <iostream>#include<cstdio>#include<cmath>#include<cstring>#defineMAXN 100050using namespacestd;Long LongT,n,miu[maxn],prime[maxn],cnt=0;BOOLVIS[MAXN];voidget_table () {miu[1]=1; for(Long LongI=2; i<=maxn;i++) { if(vis[i]==false) {Vis[i]=true; prime[++cnt]=i; Miu[i]=-1; } for(Long Longj=1; j<=cnt && i*prime[j]<=maxn;j++) {vis[i*prime[j]]=true; if(i%prime[j]==0) {Miu[i*prime[j]]=0; Break; } Elsemiu[i*prime[j]]=-Miu[i]; } }}Long LongCalLong Longx) { Long LongR=SQRT (x), ret=0; for(Long LongI=1; i<=r;i++) ret+=x/(i*i) *Miu[i]; returnret;}voidWork () {scanf ("%lld",&N); Long LongL=1, r=2000000000, ans; while(l<=r) {Long LongMid= (l+r) >>1; Long Longnow=Cal (mid); if(now>=n) {ans=mid;r=mid-1;} ElseL=mid+1; } printf ("%lld\n", ans);}intMain () {scanf ("%lld",&t); Get_table (); for(Long LongI=1; i<=t;i++) work (); return 0;}
Bzoj 2440 Total Square number