TCSRM5961000

一直没想到怎么去重 看了眼别人的代码...so easy啊

同余啊 唉..脑子被僵尸吃掉了

 难得1000出个简单的 

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<stdlib.h>
 6 #include<cmath>
 7 #include<vector>
 8 using namespace std;
 9 #define LL long long
10 int vis[1010];
11 class SparseFactorialDiv2
12 {
13     public:
14     long long getCount(long long lo, long long hi, long long divisor)
15     {
16         LL i,ans1=0,ans2=0,k = divisor;
17         for(i = 0 ;i*i <hi ; i++)
18         {
19             if(!vis[(i*i)%k])
20             {
21                 vis[(i*i)%k] = 1;
22                 ans1+=(hi-i*i)/k;
23                 if(lo>i*i)
24                 ans2+=(lo-i*i-1)/k;
25             }
26         }
27         return ans1-ans2;
28     }
29 };
View Code
原文地址:https://www.cnblogs.com/shangyu/p/3403608.html