温州手机网站制作公司电话,wordpress 一键生成,自己做的网站能卖么,app定制题意#xff1a;给你一个集合#xff0c;让你找到一个最大的子集#xff0c;使得子集里面的元素的gcd#xff01;1#xff0c;输出子集的元素的个数。 思路#xff1a;先将集合里面的元素哈希#xff0c;再线性筛。 PS#xff1a;明明以前做过类似的题的#xff0c;结…  题意给你一个集合让你找到一个最大的子集使得子集里面的元素的gcd1输出子集的元素的个数。 思路先将集合里面的元素哈希再线性筛。 PS明明以前做过类似的题的结果又忘了卡了好久最后打表过的。   1 #include iostream2 #include queue3 #include stack4 #include cstdio5 #include vector6 #include map7 #include set8 #include bitset9 #include algorithm
10 #include cmath
11 #include cstring
12 #include cstdlib
13 #include string
14 #include sstream
15 #include time.h
16 #define x first
17 #define y second
18 #define pb push_back
19 #define mp make_pair
20 #define lson l,m,rt*2
21 #define rson m1,r,rt*21
22 #define mt(A,B) memset(A,B,sizeof(A))
23 #define mod 1000000007
24 using namespace std;
25 typedef long long LL;
26 const double PI  acos(-1);
27 const int N1e510;
28 const int inf  0x3f3f3f3f;
29 const LL INF0x3f3f3f3f3f3f3f3fLL;
30 int vis[N],vik[N],ans-inf;
31 void solve(int n)
32 {
33     int p0;
34     mt(vis,0);
35     for(int i2;in;i)
36     {
37         if(!vis[i])
38         {
39             p0;
40             for(int ji;jn;ji)
41             {
42                 vis[j]1;
43                 pvik[j];
44             }
45             ansmax(ans,p);
46         }
47     }
48 }
49 int main()
50 {
51 #ifdef Local
52     freopen(data.txt,r,stdin);
53 #endif
54     int n,x,maxn-inf;
55     cinn;
56     for(int i0;in;i)
57     {
58         cinx;
59         vik[x];
60         maxnmax(maxn,x);
61     }
62     solve(maxn);
63     if(ans-inf)ans1;
64     coutansendl;
65 #ifdef Local
66     cerr  time:   (LL) clock() * 1000 / CLOCKS_PER_SEC   ms  endl;
67 #endif
68 }  View Code 再附上打表的暴力代码   1 #include iostream2 #include queue3 #include stack4 #include cstdio5 #include vector6 #include map7 #include set8 #include bitset9 #include algorithm
10 #include cmath
11 #include cstring
12 #include cstdlib
13 #include string
14 #include sstream
15 #include time.h
16 #define x first
17 #define y second
18 #define pb push_back
19 #define mp make_pair
20 #define lson l,m,rt*2
21 #define rson m1,r,rt*21
22 #define mt(A,B) memset(A,B,sizeof(A))
23 #define mod 1000000007
24 using namespace std;
25 typedef long long LL;
26 const double PI  acos(-1);
27 const int N2e510;
28 const int inf  0x3f3f3f3f;
29 const LL INF0x3f3f3f3f3f3f3f3fLL;
30 LL a[N],vis[N],via[N];
31 vectorLL Q;
32 vectorLL P[N];
33 void init()
34 {
35     mt(vis,0);
36     for(LL i2;i100000;i)
37     {
38         if(!vis[i])
39         {
40             Q.push_back(i);
41             for(LL ji*i;j100000;ji)
42             {
43                 vis[j]1;
44             }
45         }
46     }
47 }
48 void solve(LL n)
49 {
50      LL on;
51      for(int i0;iQ.size()n!1;i)
52      {
53          if(n%Q[i]0)
54          {
55              P[o].pb(Q[i]);
56              while(n%Q[i]0)
57              {
58                  n/Q[i];
59              }
60          }
61      }
62 }
63 int main()
64 {
65 #ifdef Local
66     freopen(data.txt,r,stdin);
67 #endif
68     int n;
69     LL sum-INF;
70     init();
71     cinn;
72     mt(via,0);
73     for(int i0;in;i)scanf(%I64d,a[i]);
74     for(LL i1;i100000;i)
75     {
76         solve(i);
77     }
78     for(int i0;in;i)
79     {
80         for(int j0;jP[a[i]].size();j)
81         {
82             via[P[a[i]][j]];
83         }
84     }
85     for(int i0;iQ.size();i)
86     {
87         summax(sum,via[Q[i]]);
88     }
89     if(sum0)sum1;
90     coutsumendl;
91     //for(int i0;i10;i)coutQ[i] ;*/
92 
93 #ifdef Local
94     cerr  time:   (LL) clock() * 1000 / CLOCKS_PER_SEC   ms  endl;
95 #endif
96 }  View Code   转载于:https://www.cnblogs.com/27sx/p/6283704.html