3367: [Usaco2004 Feb]The Big Game 球赛

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 56  Solved: 45
[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

dp[x]表示前x头牛最少需要几辆车

转移:dp[x] = min(dp[i]+1,  区间[i+1, x]内所有牛能在1辆车上)

#include<stdio.h>
#include<algorithm>
#include<math.h>
using namespace std;
int a[2505], dp[2505], sum[2505];
int main(void)
{char ch;int n, k, i, j;scanf("%d%d", &n, &k);for(i=1;i<=n;i++){scanf(" %c", &ch);if(ch=='J')  a[i] = 1;dp[i] = i;sum[i] = sum[i-1]+a[i];}for(i=1;i<=n;i++){for(j=0;j<=i-1;j++){if((sum[i]-sum[j])%(i-j)==0 || abs((i-j)-2*(sum[i]-sum[j]))<=k)dp[i] = min(dp[i], dp[j]+1);}}printf("%d\n", dp[n]);return 0;
}

bzoj 3367: [Usaco2004 Feb]The Big Game 球赛(DP)相关推荐

  1. bzoj 3369: [Usaco2004 Feb]Pesky Parentheses 烦人括号(思维题)

    3369: [Usaco2004 Feb]Pesky Parentheses 烦人括号 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 14  Sol ...

  2. bzoj 3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助(set+贪心)

    3372: [Usaco2004 Feb]Moo University -- Financial Aid 财政补助 Time Limit: 10 Sec  Memory Limit: 128 MB S ...

  3. bzoj 3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦(加权并查集)

    3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 121  ...

  4. bzoj 3365: [Usaco2004 Feb]Distance Statistics 路程统计【容斥原理+点分治】

    统计在一个root下的两个子树,每个子树都和前面的运算一下再加进去对于这种需要排序的运算很麻烦,所以考虑先不去同子树内点对的算出合法点对个数,然后减去每一棵子树内的合法点对(它们实际上是不合法的,相当 ...

  5. bzoj 1611: [Usaco2008 Feb]Meteor Shower流星雨(DP)

    1611: [Usaco2008 Feb]Meteor Shower流星雨 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1631  Solved: 6 ...

  6. 带权并查集【bzoj3362】: [Usaco2004 Feb]Navigation Nightmare 导航噩梦

    [bzoj]3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦 ​ 农夫约翰有N(2≤N≤40000)个农场,标号1到N,M(2≤M≤40000)条的不同的垂 ...

  7. BZOJ_3362_[Usaco2004 Feb]Navigation Nightmare 导航噩梦_并查集

    BZOJ_3362_[Usaco2004 Feb]Navigation Nightmare 导航噩梦_并查集 Description     农夫约翰有N(2≤N≤40000)个农场,标号1到N,M( ...

  8. BZOJ 1631: [Usaco2007 Feb]Cow Party【最短路】

    1631: [Usaco2007 Feb]Cow Party [题目描述] 传送门 题解 正向建边,从X开始刷一趟SPFA,然后反向建边,从X刷一趟SPFA,最后两次的答案加和就可以了. 代码如下 # ...

  9. [BZOJ] 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐

    1609: [Usaco2008 Feb]Eating Together麻烦的聚餐 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1646  Solv ...

最新文章

  1. iOS SwiftUI篇-5 专题NavigationView、NavigationLink
  2. 适用于Linux命令的10个R函数
  3. Power-- 1.charge Fuel gauge
  4. Selenium2+Python自动化-处理浏览器弹窗(转载)
  5. redis之闪电内幕
  6. python matplotlib画折线图出现连线混乱_python使用matplotlib模块绘制多条折线图、散点图...
  7. morphia_Morphia和MongoDB:不断发展的文档结构
  8. arachni web mysql数据库_Web安全扫描工具Arachni
  9. ebtables之BROUTING和PREROUTING的redirect的区别
  10. java怎么设置背景_如何在Java中设置背景图片?
  11. kdump需要开启吗_iPhone全新黑科技!用嘴玩手机!你会玩吗?
  12. Linux(Ubuntu)常用命令(五)—— vi/vim常用操作
  13. java byte数组与16进制间的相互转换
  14. sofia-sip-ua >= 1.12.12… configure: error: no usable sofia-sip; please install sofia-sip-ua devel pa
  15. 数梅派4b 显示器_无显示器配置树莓派4B
  16. Jenkins--下载安装及简单配置
  17. 2022计算机毕业设计如何选题?
  18. 享元模式(羽量级模式、蝇量级模式Flyweight,对象结构型模式)
  19. 【钉钉发送消息 上传文本 群主发送工具类】
  20. 不愿意跟同事分享的强大办公软件,超超超超级好用

热门文章

  1. python新手入门代码-新手必看:手把手教你入门 Python
  2. python经典实例-终于明了python入门经典实例
  3. python安卓下载-python手册中文版apk下载
  4. 百度远场语音识别套件-开箱评测
  5. shiro 不过滤指定的带参数url_原创干货 | 过滤器设计缺陷导致权限绕过
  6. mysql 两张大表关联_详解mysql生产环境如何快速有效的删除大表,附实验说明
  7. android重写返回按钮点击事件,Android Fragment监听返回键
  8. 【狂神Mybatis笔记】配置解析
  9. 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器
  10. CMFCPropertyGridCtrl 的简单教程