• AcWing 第 1 场周赛补题记录(A~C)


    比赛链接:Here

    AcWing 3577. 选择数字

    排序,然后选取两个数组的最大值

    void solve() {
        int n; cin >> n;
        vector<int>a(n);
        for (int &x : a)cin >> x;
        int m; cin >> m;
        vector<int>b(m);
        for (int &x : b)cin >> x;
        sort(a.begin(), a.end());
        sort(b.begin(), b.end());
        cout << a[n - 1]  << " " << b[m - 1] << "
    ";
    }
    

    AcWing 3578. 最大中位数

    因为我们要让中位数最大,所以对前面 n>>1 的数可以不用管,然后我们每次让最小的数+到第二小看看可不可以加到如果不可以就把剩余的k平均分给最小数,如果可以加就加到第二小然后以此类推

    using ll = long long;
    const int N = 2e5 + 10, mod = 1e9 + 7;
    ll a[N], sum[N];
    int main() {
        int n;
        ll k;
        cin >> n >> k;
        for (int i = 1; i <= n; i ++ ) {
            cin >> a[i];
        }
        sort(a + 1, a + 1 + n);
        int pos = n / 2 + 1;//中位数所在位置
        for (int i = 1; i <= n; i ++ ) {
            sum[i] = sum[i - 1] + a[i];
        }
        ll res = a[pos];
        for (int i = pos; i <= n; i ++ ) {
            ll more = k + (sum[i] - sum[pos - 1]);
            ll num = more / (i - pos + 1);
            if (num < a[i]) break;
            if (i < n) num = min(num, a[i + 1]);
            res = max(res, num);
        }
        cout << res;
    }
    

    AcWing 3579. 数字移动

    C 题 眨眼一看,我去!好难!这怎么写!其实仔细读题之后,会发现,此题就是找闭环过程,剩最后10分钟,糊出来了。
    解题思路:因为在闭环上的点操作数都是一样的,1->2;2->3;3->4;4->1 他们的操作数都是一样的都是4,所以直接模拟就好啦。

    const int N = 2e5 + 10, mod = 1e9 + 7; // 注意数据范围是 2e5
    int a[N], q[N], res[N], n, t;
    bool f[N];
    void solve() {
        cin >> n;
        for (int i = 1; i <= n; ++i )cin >> a[i];;
        for (int i = 1; i <= n; ++i )f[i] = false;
        for (int i = 1; i <= n; ++i) {
            if (f[i]) continue;
            int j = i, top = 1, cnt = 0;
            do {f[j] = true, j = a[j]; q[top++] = j, cnt++;} while (!f[j]);
            for (int k = 1; k < top; ++k)res[q[k]] = cnt;
        }
        for (int i = 1; i <= n; ++i)cout << res[i] << " ";
        cout << "
    ";
    }
    

    The desire of his soul is the prophecy of his fate
    你灵魂的欲望,是你命运的先知。

  • 相关阅读:
    Razor 视图引擎的一些属性和方法
    Asp.Net Mvc Razor
    微信小程序时代已经来临
    ionic常用命令记录
    ionic中将service中异步返回的数据赋值给controller的$scope
    nodejs连接mysql实例
    转载:ionic+nodejs开发遇到的跨域和post请求数据问题
    NodeJs-- 新建项目实例
    Bootstrap学习指南
    ios开发环境配置及cordova安装与常用命令
  • 原文地址:https://www.cnblogs.com/RioTian/p/14969740.html
Copyright © 2020-2023  润新知