• Educational Codeforces Round 100 (Rated for Div. 2)


    Educational Codeforces Round 100 (Rated for Div. 2)

    • A
    #include<bits/stdc++.h>
    using namespace std;
    #pragma GCC optimize(2)
    typedef long long ll;
    typedef unsigned long long ull;
    typedef long double ld;
    void io(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);}
    
    int t,a,b,c;
    
    int main()
    {
        io();
        cin>>t;
        
        while(t--){
            cin>>a>>b>>c;
            int sum=a+b+c;
            int x=(7*sum)/9;
            if(9*x==7*sum){
                int minn=min(a,min(b,c));
                if(x/7>minn) cout<<"NO
    ";
                else cout<<"YES
    ";
            }
            else cout<<"NO
    ";
        }
        return 0;
    }
    
    • B
      • 设奇数下标存1,偶数下标存原数,(sum_{i=1}^n{|a[i]-b[i]|}=A),同理,相反为(B),设奇数下标存0,偶数下标存原数,(sum_{i=1}^n{|a[i]-b[i]|}=A'),同理相反为(B')
      • [ A' ge A \ B' ge B \ sum-B'=A' \ If A' > frac{sum}{2} \ Then B' leq frac{sum}{2}\So Ble frac{sum}{2} ]

    #include<bits/stdc++.h>
    using namespace std;
    #pragma GCC optimize(2)
    typedef long long ll;
    typedef unsigned long long ull;
    typedef long double ld;
    void io() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); }
    
    int t, n;
    int a[100], b[100];
    
    int solve(int x,int y)
    {
        for(int i=1;i<=sqrt(x);++i){
            if(x%i==0){
                if(abs(y-i)<=y/2) return i;
                if(abs(y-x/i)<=y/2) return x/i;
            }
        }
    }
    
    
    int main()
    {
        io();
        cin >> t;
        while (t--) {
            cin >> n;
            ll sum = 0;
            int maxx = 0;
            for (int i = 1; i <= n; ++i) {
                cin >> a[i];
                sum += a[i] * 1ll;
            }
            ll ts=0;
            for(int i=1;i<=n;++i){
                if(i%2){
                    b[i]=1;
                }else b[i]=a[i];
                ts+=1ll*abs(a[i]-b[i]);
            }
            if(ts*2ll<=sum) goto ww;
            // for(int i=1;i<=n;++i){
            //     if(a[i]==1||a[i]==2) b[i]=1;
            //     else b[i]=a[pos];
            // }
            ts=0;
            for(int i=1;i<=n;++i){
                if(i%2==0){
                    b[i]=1;
                }else b[i]=a[i];
                ts+=1ll*abs(a[i]-b[i]);
            }
            ww:for (int i = 1; i <= n; ++i) cout << b[i] << " ";
            cout << "
    ";
        }
        return 0;
    }
    
    • C
    #include<bits/stdc++.h>
    using namespace std;
    #pragma GCC optimize(2)
    typedef long long ll;
    typedef unsigned long long ull;
    typedef long double ld;
    void io() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); }
    
    const ll maxn = 1e5 + 10;
    ll T, n;
    ll t[maxn], x[maxn];
    ll flag[10];
    
    
    int main()
    {
        io();
        cin >> T;
        while (T--) {
            cin >> n;
            memset(flag, 0, sizeof(flag));
            for (ll i = 1; i <= n; ++i) cin >> t[i] >> x[i];
            t[n + 1] = 1e18 + 10;
            ll x0 = 0, nextt = abs(x[1]) + t[1];
            ll np = 0; // nowPlace
            ll ep = x[1];
            flag[0] = x[1] < x[0] ? 1 : 0; // 1往-走,0往+走
            ll ans = 0;
            for (ll i = 1; i <= n; ++i) {
                if (t[i] >= nextt) {
                    nextt = t[i] + abs(ep - x[i]);
                    flag[0] = x[i] < ep ? 1 : 0;
                    np = ep;
                    ep = x[i];
                }
                ll tmp = t[i + 1] - t[i];
                ll tep = flag[0] ? np - tmp : np + tmp;// tempEndPlace
                if ((x[i] >= np && x[i] <= tep) || (x[i] >= tep && x[i] <= np)) {
                    if (flag[0]) {
                        if (x[i] >= ep) ans++;
                    }
                    if (!flag[0]) {
                        if (x[i] <= ep) ans++;
                    }
                }
                flag[0] ? np -= tmp : np += tmp;
            }
            cout << ans << "
    ";
        }
        return 0;
    }
    
  • 相关阅读:
    基于@vueuse/core + @vue/compositionapi 实现多行元素展开/折叠功能
    httpserver当作服务器启动项目
    深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
    es6的新语法fetch
    php shell_exec() 调用ffmpeg遇到的问题
    phpcurl 遇到 cloudflare防御
    Visual Studio Code离线安装扩展失败 Corrupt ZIP: end of central directory record signature not found
    网络常用子网掩码划分表
    [docker pull nginx] Error response from daemon: Get "https://registry1.docker.io/v2/": dial tcp: lookup registry1.docker.io: no such host
    长度延展攻击
  • 原文地址:https://www.cnblogs.com/DrumWashingMachine-Lhy-NoobInCsu/p/14157757.html
Copyright © 2020-2023  润新知