• Codeforces Round #706 (Div. 2)(补题)


    A.

        #include<bits/stdc++.h>
        using namespace std;
        int main () {
            int t;
            cin >> t;
            while(t--) {
                int n, k;
                cin >> n >> k;
                string s;
                cin >> s;
                if(k == 0) {
                    cout << "YES" << endl;
                    continue;
                }
                int gap = (n & 1) ?  n / 2 : n / 2 - 1;
                if(gap < k) {
                    cout << "NO" << endl;
                    continue;
                }
                bool isok = 0;
                for(int i = 0; i < k; ++i) {
                    if(s[i] != s[n - i - 1]) {
                        isok = 1;
                        break;
                    }
                }
                if(isok) {
                    cout << "NO" << endl;
                } else {
                    cout << "YES" << endl;
                }
            }
        }
    

    B

        #include<bits/stdc++.h>
        using namespace std;
        typedef long long ll;
        int main () {
            int t;
            cin >> t;
            while(t--) {
                ll n, k;
                cin >> n >> k;
                std::vector<ll> v(n);
                ll a[100010];
                std::map<ll, int> mp;
                for(int i = 0; i <= 100001; ++i) {
                    a[i] = 0;
                }
                ll maxx = -1;
                for(int i = 0; i < n; ++i) {
                    cin >> v[i];
                    if(v[i] <= 100001) a[v[i]]++;
                    mp[v[i]] = 1;
                    maxx = max(maxx, v[i]);
                }
                ll mexx = -1;
                for(int i = 0; i <= 100001; ++i) {
                    if(a[i] == 0) {
                        mexx = i;
                        break;
                    }
                }
                ll keyy = ll((double(mexx) + double(maxx)) / 2.0 + 0.5);
                if(k == 0 || mp[keyy] == 1) {
                    cout << n << endl;
                } else if(keyy > maxx) {
                    cout << n + k << endl;
                } else {
                    cout << n + 1 << endl;
                }
            }
        }
    

    C

    
    
        #include<bits/stdc++.h>
        using namespace std;
        typedef long long ll;
        int main () {
            ios::sync_with_stdio(false);
            int t;
            cin >> t;
            cout.precision(15);
            while(t--) {
                int n;
                cin >> n;
                std::vector<ll> vx;
                std::vector<ll> vy; 
                for(int i = 0; i < 2 * n; ++i) {
                    ll x, y;
                    cin >> x >> y;
                    if(x == 0) vy.push_back(abs(y));
                    else vx.push_back(abs(x));           
                } 
                sort(vx.begin(), vx.end());
                sort(vy.begin(), vy.end());
                double ans = 0.0;
                for(int i = 0; i < n; ++i) {
                    ans += sqrt(vx[i] * vx[i] + vy[i] * vy[i]);  
                }
                cout << ans << endl;
            }
        }
    

    注意不要用double 容易t

    作者:LightAc
    出处:https://www.cnblogs.com/lightac/
    联系:
    Email: dzz@stu.ouc.edu.cn
    QQ: 1171613053
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Tomcat架构解析(五)-----Tomcat的类加载机制
    session与cookie
    freemarker常用标签解释遍历
    freemarker常用标签解释三
    freemarker常用标签解释二
    freemarker常用标签解释
    禁止浏览器自动填充
    使用cookie实现自动登录
    长连接和短连接
    filter防止xxs攻击
  • 原文地址:https://www.cnblogs.com/lightac/p/14514959.html
Copyright © 2020-2023  润新知