2019.3.22

1.最大公约数

 1 int euc(int a,int b)
 2 {
 3 return a%b==0?b:euc(b,a%b);
 4 }
 5 int main()
 6 {
 7 int a,b;
 8 while(cin>>a>>b)
 9 printf("%d\n",euc(a,b));
10 return 0;
11 }
View Code

最大公约数*最小公倍数==a*b

2.康托展开

 1 //CSU1828
 2 #include<bits/stdc++.h>
 3 #define mem(a) memset(a,0,sizeof(a))
 4 #define LL long long
 5 #define ull unsigned long long
 6 #define inf 0x3f3f3f3f
 7 const int N=5e8;
 8 using namespace std;
 9 int f[10];
10 void init()
11 {
12   f[1]=1;
13   for(int i=2;i<10;i++)
14     f[i]=f[i-1]*i;
15 }
16 int main()
17 {
18   int n;
19   char s[10];
20   init();
21   cin>>n;
22   while(n--)
23   {
24      cin>>s;
25      int ans=0;
26      for(int i=0;i<9;i++)
27      {
28         int temp=0;
29         for(int j=i+1;j<9;j++)
30             if(s[i]>s[j])temp++;
31         ans+=temp*f[9-i-1];
32      }
33      cout<<ans+1<<endl;
34   }
35   return 0;
36 }
View Code

3.贪心

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<iostream>
 5 #include<stdlib.h>
 6 #include<algorithm>
 7 #include<queue>
 8 #include<vector>
 9 #include<string>
10 #include<set>
11 #include<list>
12 #include<cctype>
13 #include<sstream>
14 #define mem(a) memset(a,0,sizeof(a))
15 #define LL long long
16 #define ull unsigned long long
17 #define inf 0x3f3f3f3f
18 const int N=5e8;
19 using namespace std;
20 char f[2005],g[2005];
21 int n;
22 int cp(int x,int y)
23 {
24     int t=0;
25     while(t<=n)
26     {
27         if(f[x]<g[y])
28         return 1;
29         else if(f[x]>g[y])
30         return 2;
31         x++,y++,t++;
32     }
33     return 0;
34 }
35 int main()
36 {
37   cin>>n;
38   for(int i=1,j=n;i<=n;i++,j--)
39  {
40     cin>>f[i];
41     g[j]=f[i];
42  }
43  int t=n;
44  int x=1,y=1,ans=0;
45  while(t--)
46  {
47    int k=cp(x,y);
48    if(k==1||k==0)
49    {
50        cout<<f[x];
51        x++;
52    }
53    else if(k==2)
54    {
55        cout<<g[y];
56        y++;
57    }
58    ans++;
59    if(ans%80==0)
60     cout<<endl;
61  }
62   return 0;
63 }
Best Cow Line
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<iostream>
 5 #include<stdlib.h>
 6 #include<algorithm>
 7 #include<queue>
 8 #include<vector>
 9 #include<string>
10 #include<set>
11 #include<list>
12 #include<cctype>
13 #include<sstream>
14 #define mem(a) memset(a,0,sizeof(a))
15 #define LL long long
16 #define ull unsigned long long
17 #define inf 0x3f3f3f3f
18 const int N=5e8;
19 using namespace std;
20 int f[2005],g[2005];
21 int n,r;
22 int main()
23 {
24   while(cin>>r>>n&&r!=-1&&n!=-1)
25   {
26      for(int i=0;i<n;i++)
27         cin>>f[i];
28      int ans=0;
29      sort(f,f+n);
30      int now=0;
31      int u=now+1;
32      while(now<n)
33       {
34 
35          if(f[u]-f[now]<=r&&u-n<2)
36          u++;
37          else
38          {
39           int t=u;
40           while(f[t]-f[u-1]<=r)
41           t++;
42           ans++;
43           u=t+1;
44           now=t;
45          }
46     /*     if(u>n)
47          {
48             if(f[n-1]-f[n-2]>r)
49             {
50                 ans++;
51             }
52             break;
53          }*/
54       }
55      cout<<ans<<endl;
56   }
57   return 0;
58 }
Saruman's Army

 

posted @ 2019-03-22 20:26  XXrl  阅读(134)  评论(0)    收藏  举报