zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 90 (Rated for Div. 2)

    tm小学期和物理实验终于结束了, 这场是现打的, 不行了, 除了A, 都要wa一边, 不是ll就是特判, E的表sb的跑1e18没跑出来

    A

    氵题, 看题意写

    #include <bits/stdc++.h>
    #define all(n) (n).begin(), (n).end()
    #define se second
    #define fi first
    #define pb push_back
    #define mp make_pair
    #define sqr(n) (n)*(n)
    #define rep(i,a,b) for(int i=a;i<=(b);++i)
    #define per(i,a,b) for(int i=a;i>=(b);--i)
    using namespace std;
    typedef long long ll;
    typedef pair<int, int> PII;
    typedef vector<int> VI;
    typedef double db;
     
    const int N = 1e5 + 5;
     
    int n, m, _, k;
     
    int main() {
        ios::sync_with_stdio(0); cin.tie(0);
        for (cin >> _; _; --_) {
            int a, b, c; cin >> a >> b >> c;
            if (a >= c) cout << -1 << ' ';
            else cout << 1 << ' ';
     
            if ((ll)a * b > c) cout << b << '
    ';
            else cout << -1 << '
    ';
        }
        return 0;
    }
    

    B

    没啥博弈, 就是查能操作几次就行

    wa每次反转在没清零

    #include <bits/stdc++.h>
    #define all(n) (n).begin(), (n).end()
    #define se second
    #define fi first
    #define pb push_back
    #define mp make_pair
    #define sqr(n) (n)*(n)
    #define rep(i,a,b) for(int i=a;i<=(b);++i)
    #define per(i,a,b) for(int i=a;i>=(b);--i)
    using namespace std;
    typedef long long ll;
    typedef pair<int, int> PII;
    typedef vector<int> VI;
    typedef double db;
     
    const int N = 1e5 + 5;
     
    int n, m, _, k;
    char s[105];
     
    int main() {
        ios::sync_with_stdio(0); cin.tie(0);
        for (cin >> _; _; --_) {
            cin >> s + 1;
            int c = 0, a = 0, b = 0;
     
            for (int i = 1; s[i]; ++i) {
                if (s[i] == '0') ++a;
                else ++b;
     
                if (s[i] == s[i + 1]) continue;
     
                if (b >= a) {
                    c += a; b -= a; a = 0;
                } else {
                    c += b; a -= b; b = 0;
                }
            }
     
            if (c & 1) cout << "DA
    ";
            else cout << "NET
    ";
        }
        return 0;
    }
    

    C

    模拟找出等差序列, 最后算上整个长度

    wa在爆int

    #include <bits/stdc++.h>
    #define all(n) (n).begin(), (n).end()
    #define se second
    #define fi first
    #define pb push_back
    #define mp make_pair
    #define sqr(n) (n)*(n)
    #define rep(i,a,b) for(int i=a;i<=(b);++i)
    #define per(i,a,b) for(int i=a;i>=(b);--i)
    using namespace std;
    typedef long long ll;
    typedef pair<int, int> PII;
    typedef vector<int> VI;
    typedef double db;
     
    const int N = 1e6 + 5;
     
    int n, m, _, k;
    char s[N];
     
    int main() {
        ios::sync_with_stdio(0); cin.tie(0);
        for (cin >> _; _; --_) {
            cin >> s + 1;
            ll c = 0, a = 0, len = 1, w = 0, ans = 0, b = 0;
     
            for (ll& i = len; s[i]; ++i) {
                if (s[i] == '-') ++c;
                else --c;
     
                if (a < c) a = c, ans;
            }
     
            c = 0;
            for (ll i = 1; s[i]; ++i) {
                if (s[i] == '-') ++c;
                else --c;
     
                if (b < c) ans += (a - b + 1) * (i - w), b = c, w = i;
            }
     
            cout << ans + (len - w - 1) << '
    ';
        }
        return 0;
    }
    
    

    D

    每两个数做差, 求最大和序列

    wa在第二次做差是奇偶做差, 存在要补最后一位的情况(忘了)

    #include <bits/stdc++.h>
    #define all(n) (n).begin(), (n).end()
    #define se second
    #define fi first
    #define pb push_back
    #define mp make_pair
    #define sqr(n) (n)*(n)
    #define rep(i,a,b) for(int i=a;i<=(b);++i)
    #define per(i,a,b) for(int i=a;i>=(b);--i)
    using namespace std;
    typedef long long ll;
    typedef pair<int, int> PII;
    typedef vector<int> VI;
    typedef double db;
     
    const int N = 2e5 + 5;
     
    int n, m, _, k;
    ll a[N], b[N << 1];
     
    ll work(ll b[], int n, int k) {
        rep (i, 0, n - 1) {
            a[i] = 0;
            if (i & 1) a[i >> 1] += b[i] * k;
            else a[i >> 1] -= b[i] * k;
        }
     
        n = (n + 1) >> 1; 
     
        ll res = 0, cur = 0, l, r, rl = 0;
        rep (i, 0, n - 1) {
            cur += a[i];
            if (cur > res) {
                r = i; l = rl;
                res = cur;
            }
     
           if (cur < 0) cur = 0, rl = i + 1;
        }
     
        return res;
    }
     
    int main() {
        ios::sync_with_stdio(0); cin.tie(0);
        for (cin >> _; _; --_) {
            cin >> n;
     
            ll ans = 0;
     
            rep (i, 1, n) {
                cin >> b[i];
                if (i & 1) ans += b[i];
            }
     
            ll a1 = work(b + 1, n, 1); b[n + 1] = 1e9;
            ll a2 = work(b + 2, n - (n & 1), -1);
            cout << ans + max(a1, a2) << '
    ';
        }
        return 0;
    }
    

    E

    0特判, 其他打标到1e9

    int main() {  
        //freopen("data.out", "w", stdout); 
        for (int n = 1; n <= 150; ++n) {
            for (int k = 1; k <= 9; ++k) {
                bool flag = 0;
                for (ll j = 0; j <= 1e9; ++j) {
                    int c = 0;
                    for (int t = 1; t <= k && c <= n; ++t) c += f(j + t);
                    if (c == n) { printf("%d, ", j); flag = 1; break;}
                }
                if (flag == 0) printf("-1, ");   
            }
            puts("");
        }
        return 0;
    }
    

    只要能跑出来表就过了

  • 相关阅读:
    suse12安装详解
    Centos7上部署openstack mitaka配置详解(将疑难点都进行划分)
    菜鸟帮你跳过openstack配置过程中的坑[文末新添加福利]
    openstack中dashboard页面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
    Multiple network matches found for name 'selfservice', use an ID to be more specific.报错
    查看 SELinux状态及关闭SELinux
    SELinux深入理解
    IP地址、子网掩码、网络号、主机号、网络地址、主机地址
    Oracle job procedure 存储过程定时任务
    POI文件导出至EXCEL,并弹出下载框
  • 原文地址:https://www.cnblogs.com/2aptx4869/p/13194094.html
Copyright © 2011-2022 走看看