• Educational Codeforces Round 76 D


    这次的ABC三道题非常水,但是我就卡在这个D题上了QAQ

    当时大概猜到了贪心,但是没有思路,后来看了一些题解才明白到底是什么意思

    首先,假设我们已经处理好了前面的monsters,对于第i个monster,肯定要选择一个能力大于它能力的勇者。那么该怎么选呢,显然(用贪心的思想分析,就是勇者如果能打到a而不是b (a > b),勇者的选择就更多了,这个选择包含达到b的选择,所以可以达到全局最优)我们希望这个勇者打败的怪物越多越好,所以我们需要找到一个勇者,他的power > max(monster_power[i] ~ monster_power[i + m]),寻找能使m最大的那个勇者。

    附上代码(tips:这一题用memset会超时,必须手动清空

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    const int N = 200010;
    int pow[N], a[N];
    int main() {
        int t;
        scanf("%d", &t);
        while (t--) {
            int n, m;
            scanf("%d", &n);
            for (int i = 0; i < n; i++)
                scanf("%d", &a[i]);
            scanf("%d", &m);
            int maxn = 0;
            for (int i = 0; i < m; i++) {
                int p, s;
                scanf("%d %d", &p, &s);
                pow[s] = max(pow[s], p);
                maxn = max(maxn, s);
            }
            for (int i = maxn - 1; i >= 0; i--)
                pow[i] = max(pow[i + 1], pow[i]);
            int monster = 0, ans = 0, len = 1;
            int k = maxn;
            maxn = 0;
            while (monster < n) {
                maxn = max(a[monster], maxn);
                if (pow[len] >= maxn) {
                    len++;
                    monster++;
                }
                else if (len == 1) {
                    ans = -2;
                    break;
                }
                else {
                    ans++;
                    maxn = a[monster];
                    len = 1;
                }
            }
            printf("%d
    ", ans + 1);
            for (int i = 0; i <= k; i++)
                pow[i] = 0;
        }
        return 0;
    }
    // 
  • 相关阅读:
    ASP.NET MVC 扩展相关
    新.NET开发十大必备工具
    c#调用存储过程两种方法
    TweakUI取消pc喇叭声
    baidu mp3竟然还加密,太扯了
    NTLM在使用代理服务器的情况下,第三次握手可能出错
    httpclient解析gzip网页
    eclipse不能自动编译工程的解决方法
    bat设置环境变量
    java的ZipOutputStream压缩文件的两个问题(乱码和每次zip后文件md5变化)
  • 原文地址:https://www.cnblogs.com/cminus/p/11877604.html
Copyright © 2020-2023  润新知