• Education CodeForces Round 63 Div.2


    A. Reverse a Substring

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int N;
    string s;
    
    int main() {
        scanf("%d", &N);
        cin >> s;
    
        int temp = -1;
        for(int i = 1; s[i]; i ++) {
            if(s[i] < s[i - 1]) {
                temp = i;
                break;
            }
        }
    
        if(temp == -1) printf("NO
    ");
        else {
            printf("YES
    ");
            temp += 1;
            printf("%d %d
    ", temp - 1, temp);
        }
    
        return 0;
    }
    View Code

    B. Game with Telephone Numbers

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int N;
    int eight = 0;
    string s;
    
    int main() {
        scanf("%d", &N);
        cin >> s;
        bool flag = true;
        for(int i = 0; i <= N - 11; i ++) {
            if(s[i] == '8')
                eight ++;
        }
        if(eight <= ((N - 11) / 2)) flag = false;
    
        if(flag) printf("YES
    ");
        else printf("NO
    ");
    
        return 0;
    }
    View Code

    C. Alarm Clocks Everywhere

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 3e5 + 10;
    int N, M;
    long long a[maxn], p[maxn], b[maxn];
    
    long long gcd(long long a, long long b) {
        return b == 0 ? a : gcd(b, a % b);
    }
    
    int main() {
        scanf("%d%d", &N, &M);
        long long t;
        for(int i = 1; i <= N; i ++) {
            cin >> a[i];
            //scanf("%lld", &a[i]);
            if(i == 1) b[i] = 0;
            else b[i] = a[i] - a[i - 1];
        }
    
        for(int i = 2; i <= N; i ++) {
            if(i == 2) t = b[i];
            else t = gcd(t, b[i]);
        }
    
        bool flag = false;
        int temp;
        for(int i = 1; i <= M; i ++) {
            cin >> p[i];
            //scanf("%lld", &p[i]);
            if(t % p[i] == 0) {
                temp = i;
                flag = true;
            }
        }
    
        int ansp = temp;
        if(!flag) printf("NO
    ");
        else {
            printf("YES
    ");
            cout << a[1] << " " << ansp << endl;
        }
    
        return 0;
    }
    View Code

    D. Beautiful Array

    代码:(D 神仙 dp 自己写了贪心 但是不对有一些情况不可以 枯了 )

    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 3e5 + 10;
    long long a[maxn], dp[maxn][5];
    int N, K;
    
    int main() {
        memset(dp, -1e18, sizeof(dp));
        scanf("%d%d", &N, &K);
        long long ans = 0;
        for(int i = 1; i <= N; i ++) {
            cin >> a[i];
            dp[i][0] = max(dp[i - 1][0], 0LL) + a[i];
            dp[i][1] = max(max(dp[i - 1][1], dp[i - 1][0]), 0LL) + 1LL * K * a[i];
            dp[i][2] = max(max(max(dp[i - 1][1], dp[i - 1][0]), dp[i - 1][2]), 0LL) + a[i];
            ans = max(ans, max(dp[i][0], max(dp[i][1], dp[i][2])));
        }
        cout << ans << endl;
        return 0;
    }
    View Code

     

  • 相关阅读:
    Javascript面向对象编程:非构造函数的继承
    JavaScript中this 详解
    构造函数与 new 命令
    JavaScript数组去重的6个方法
    初学Java Web(9)——学生管理系统(简易版)总结
    初学Java Web(8)——过滤器和监听器
    初学Java Web(7)——文件的上传和下载
    初学Java Web(6)——JSP学习总结
    初学Java Web(5)——cookie-session学习
    初学Java Web(4)——Servlet学习总结
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10762030.html
Copyright © 2020-2023  润新知