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

 

你可能感兴趣的:(rm)