• Codeforces 450(#257 (Div. 2) ) 解题报告


    A:

     1 // File Name: a.cpp
     2 // Author: darkdream
     3 // Created Time: 2014年07月19日 星期六 21时01分28秒
     4 
     5 #include<vector>
     6 #include<list>
     7 #include<map>
     8 #include<set>
     9 #include<deque>
    10 #include<stack>
    11 #include<bitset>
    12 #include<algorithm>
    13 #include<functional>
    14 #include<numeric>
    15 #include<utility>
    16 #include<sstream>
    17 #include<iostream>
    18 #include<iomanip>
    19 #include<cstdio>
    20 #include<cmath>
    21 #include<cstdlib>
    22 #include<cstring>
    23 #include<ctime>
    24 #define LL long long
    25 
    26 using namespace std;
    27 int a[10005];
    28 int main(){
    29   int  n, m ; 
    30   scanf("%d %d",&n,&m);
    31   int maxn = 0; 
    32   int ans = 0 ;
    33   for(int i=1 ;i <= n;i ++)
    34   {
    35       int temp ; 
    36       scanf("%d",&temp);
    37      // printf("%d %d
    ",(temp-1)/m,maxn);
    38       if((temp-1)/ m >=  maxn)
    39       {
    40         ans = i ; 
    41         maxn = (temp-1)/m;
    42       }
    43   }
    44   printf("%d
    ",ans);
    45 return 0;
    46 }
    View Code

    B:

    循环节

     1 // File Name: b.cpp
     2 // Author: darkdream
     3 // Created Time: 2014年07月19日 星期六 21时31分19秒
     4 
     5 #include<vector>
     6 #include<list>
     7 #include<map>
     8 #include<set>
     9 #include<deque>
    10 #include<stack>
    11 #include<bitset>
    12 #include<algorithm>
    13 #include<functional>
    14 #include<numeric>
    15 #include<utility>
    16 #include<sstream>
    17 #include<iostream>
    18 #include<iomanip>
    19 #include<cstdio>
    20 #include<cmath>
    21 #include<cstdlib>
    22 #include<cstring>
    23 #include<ctime>
    24 #define LL long long
    25 #define M  1000000007
    26 using namespace std;
    27 
    28 int main(){
    29   int a[5]; 
    30   scanf("%d %d",&a[1],&a[2]);
    31   a[1] = (a[1]+M)%M;
    32   a[2] = (a[2]+M)%M;
    33   a[3] = a[2] - a[1];
    34   int n; 
    35   scanf("%d",&n);
    36   int t; 
    37   if((n-1)/3 %2 ==  1)
    38   {
    39     t = -a[n%3 == 0?3:n%3];
    40   
    41   }else
    42   {
    43      t = a[n%3 == 0?3:n%3];
    44   }
    45   printf("%d
    ",(t+M)%M);
    46   return 0;
    47 }
    View Code

    C:

    这场C题我觉得标准的算法应该是CLJ的logn的算法,枚举所有的情况,然后对一每一种情况贪心求得上限减小时间复杂度。

    附上他的代码:WJMZBMR

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <algorithm>
     4 #include <cstring>
     5 #include <string>
     6 using namespace std;
     7 
     8 typedef long long int64;
     9 
    10 #define checkMax(a,b) a=max(a,b)
    11 
    12 #include <iostream>
    13 #include <cstdio>
    14 #include <algorithm>
    15 #include <cstring>
    16 #include <string>
    17 using namespace std;
    18 
    19 typedef long long int64;
    20 
    21 int main() {
    22     int n, m, k;
    23     cin >> n >> m >> k;
    24     if (n - 1 + m - 1 < k) {
    25         puts("-1");
    26         return 0;
    27     }
    28     int64 ans = 0;
    29 //    int cnt = 0;
    30     for (int64 i = 1; i <= n; i++) {
    31 //        ++cnt;
    32         int64 r = n / (n / i);
    33         i = r;
    34         if (k - (r - 1) > m - 1)
    35             continue;
    36         int64 o = max(k - (r - 1) + 1, 1LL);
    37         checkMax(ans, 1LL * (n / r) * (m / o));
    38         //cout << " " << z << " " << t << " " << tt << endl;
    39     }
    40 //    cout << cnt << endl;
    41     cout << ans << endl;
    42     return 0;
    43 }
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    Docker(五)-Dcoker容器
    Docker(二)-Docker安装
    Docker(四)-Dcoker镜像
    Docker(三)-Docker中Image、Container与Volume的迁移
    Docker(一)-Docker介绍
    coredump分析
    linux下生成core dump文件方法
    软件测试流程清单
    软件测试风险清单
    [测试管理]测试周报该如何写
  • 原文地址:https://www.cnblogs.com/zyue/p/3855726.html
Copyright © 2020-2023  润新知