• BZOJ 3367: [Usaco2004 Feb]The Big Game 球赛( dp )


    dp(i)表示前i个人最少坐多少辆车, dp(i) = min(dp(j) + 1, dp(i)) (0 <= j < i 且 (i, j]的人能坐在一辆车上) 时间复杂度O(n²) 

    ---------------------------------------------------------------------------

    #include<bits/stdc++.h>
     
    using namespace std;
     
    const int maxn = 2509;
     
    int sum[maxn], dp[maxn], N, M;
     
    bool ok(int i, int j) {
    return abs(i - j - (sum[i] - sum[j]) * 2) <= M || !(sum[i] - sum[j]) || sum[i] - sum[j] == i - j;
    }
     
    int main() {
    cin >> N >> M;
    sum[0] = 0;
    for(int i = 1; i <= N; i++) {
    char c; scanf(" %c", &c);
    sum[i] = sum[i - 1];
    if(c == 'J') sum[i]++;
    }
    dp[0] = 0;
    for(int i = 1; i <= N; i++) {
    dp[i] = i;
    for(int j = 0; j < i; j++) if(ok(i, j))
       dp[i] = min(dp[j] + 1, dp[i]);
    }
    cout << dp[N] << " ";
    return 0;
    }

    --------------------------------------------------------------------------- 

    3367: [Usaco2004 Feb]The Big Game 球赛

    Time Limit: 10 Sec  Memory Limit: 128 MB
    Submit: 9  Solved: 7
    [Submit][Status][Discuss]

    Description

        快到奶牛冠军杯足球赛了,今年在J队与H队之间将会出现十分激烈的对抗.
        作为今年牛奶生产创记录的奖励,约翰同意他的奶牛们观看这场比赛.N(1≤N≤2500)头
    牛已经在仓房排好队.他们将被挨个儿地接上车,直到约翰喊停.之后下一辆车继续挨个儿接奶牛.最终,奶牛将都被送上车.一些牛是J队的球迷,另一些是H队的球迷,竞争对手之间往往相处得很糟.所以,约翰不能让一辆汽车上载过多的J队球迷或H队球迷,这样另一支队的球迷在途中会受到恐吓.因此,他得保证一辆车中,两队球迷的个数差的绝对值在I(1≤I≤N)内.除非那辆车上只有J队或H队的球迷.
        给出奶牛上车的次序,请计算出最少几辆汽车可以解决问题.

    Input

     
        第1行输入两个分开的整数N和J;接下来N行表示奶牛们在仓房中排队的顺序.用J和H表示
    她们是J队和H队昀球迷.

    Output

     
        一个整数,表示最少汽车的数量.

    Sample Input

    14 3
    H
    J
    H
    H
    H
    J
    H
    J
    H
    H
    H
    H
    H
    H

    Sample Output

    2

    有多种方案,如:除最后5只外,其余皆坐一辆车;最后5只坐第二辆车

    HINT

    Source

  • 相关阅读:
    zoj 3715 K
    bzoj 2002(弹飞绵羊) 分块
    最大01矩阵(悬线法)
    csu 1809 Parenthesis(线段树)
    csu 1804(有向无环图)
    csu 1803(2016)
    RCC 2017 Qual 1 Mail.Ru, April 2, 2017 Problem C. Magic Artifact
    Unmarshaller解析xml文件
    sax解析xml文件,封装到对象中
    cas环境搭建
  • 原文地址:https://www.cnblogs.com/JSZX11556/p/4717721.html
Copyright © 2020-2023  润新知