zoukankan      html  css  js  c++  java
  • Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020

    A

    int main() {
        IOS;
        for (cin >> _; _; --_) {
            cin >> n;
            for (int i = n << 2, j = 1; j <= n; ++j, i -= 2) cout << i << ' ';
            cout << '
    ';
        } 
        return 0;
    }
    

    B

    int main() {
        IOS;
        for (cin >> _; _; --_) {
            ll a, b; string s; cin >> a >> b >> s;
            ll ans = 0;
            for (int i = 0, j = -1; i < s.size(); j = i - 1) {
                while (i < s.size() && s[i] == '0') ++i;
                if (i == s.size()) break;
                if (j >= 0) ans += min(a, (i - j - 1) * b);
                else ans += a;
                while (i < s.size() && s[i] == '1') ++i;
            }
            cout << ans << '
    ';
        }
        return 0;
    }
    

    C

    二分

    PLL a[N];
     
    bool check(int t) {
        ll c = 0;
        rep (i, 1, n) {
            if (a[i].fi <= t) continue;
            else c += a[i].se;
            if (c > t) break;
        }
        return c <= t;
    }
     
    int main() {
        IOS;
        for (cin >> _; _; --_) {
            cin >> n;
            rep (i, 1, n) cin >> a[i].fi;
            rep (i, 1, n) cin >> a[i].se;
            ll l = 1, r = 1e9;
            while (l < r) {
                ll mid = l + r >> 1;
                if (check(mid)) r = mid;
                else l = mid + 1;
            }
            cout << r << '
    ';
        }
        return 0;
    }
    

    D

    看成差分, 就完事

    int main() {
        IOS;
        for (cin >> _; _; --_) {
            cin >> n >> a[1];
            ll cur = 0;
            rep (i, 2, n) if (a[i] < a[i - 1]) cur += a[i - 1] - a[i];
            if (a[1] >= cur) cout << "YES
    ";
            else cout << "NO
    ";
        }
        return 0;
    }
    

    F

    咱们首先把 0 的情况找出来

    无非是 两边都不能删除呗

    但是你要注意道, 你左右两边是 bj (j < i), 其实是可以删除的

    那不就很简单了, 当你两边都能删那就 * 2, 那为啥删除数没影响呢?

    你删的 是 ai, 得到了 bk, 且 bk 对于 以后的 bj 是可以删除的, 没变化

    int main() {
        IOS;
        for (cin >> _; _; --_) {
            cin >> n >> m;
            unordered_map<int, int> st;
            rep(i, 1, n) cin >> a[i], w[a[i]] = i, v[i] = 0;
            ll ans = 1;
            rep(i, 1, m) cin >> b[i], v[b[i]] = 1;
            bool f = 0;
            rep(i, 1, m) {
                int cur = w[b[i]];
                if ((cur == n || v[a[cur + 1]]) && (v[a[cur - 1]] || cur == 1)) f = 1;
                if (cur == n || cur == 1 || v[a[cur + 1]] || v[a[cur - 1]]) v[b[i]] = 0;
                else ans = ans * 2 % mod;
            }
            if (f) cout << 0 << '
    ';
            else cout << ans << '
    ';
        }
        return 0;
    }
    
  • 相关阅读:
    FND_CONCURRENT.SET_COMPLETION_STATUS(服务器端函数)
    Oracle 11i与12R在功能上有什么区别
    查看oracle数据库最近执行了哪些sql语句
    How to Change the First Accounting Open Period
    AR Adjustment
    Oracle 临时表
    (转)不用安装oracle客户端,PL/SQL也能远程访问数据库
    ERP 是否支持同个账户,同一时间,只能有一个连接?
    多组织访问控制(MOAC)
    【精华ASP代码收集】
  • 原文地址:https://www.cnblogs.com/2aptx4869/p/13917419.html
Copyright © 2011-2022 走看看