bzoj 3367: [Usaco2004 Feb]The Big Game 球赛(DP)
2018-03-18 19:29
555 查看
3367: [Usaco2004 Feb]The Big Game 球赛
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 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 3H J H H H J H J H H H H H HSample Output
2dp[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
);
return 0;
}
相关文章推荐
- BZOJ 3367: [Usaco2004 Feb]The Big Game 球赛( dp )
- BZOJ3367 [Usaco2004 Feb]The Big Game 球赛
- BZOJ3367: [Usaco2004 Feb]The Big Game 球赛 dp
- BZOJ 1652: [Usaco2006 Feb]Treats for the Cows( dp )
- [BZOJ1592] [Usaco2008 Feb]Making the Grade 路面修整(DP)
- 【BZOJ1633】[Usaco2007 Feb]The Cow Lexicon 牛的词典【DP】
- BZOJ 1633 [Usaco2007 Feb]The Cow Lexicon 牛的词典(单调DP)
- BZOJ 1592: [Usaco2008 Feb]Making the Grade 路面修整( dp )
- |BZOJ 1633|字符串DP|[Usaco2007 Feb]The Cow Lexicon 牛的词典
- BZOJ 1592 Usaco 2008 Feb Making the Grade 路面修整 DP
- 【BZOJ】1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典(dp)
- bzoj 1592: [Usaco2008 Feb]Making the Grade 路面修整【dp】
- |BZOJ 1652|区间DP|[Usaco2006 Feb]Treats for the Cows
- poj 3186 && bzoj 1652: [Usaco2006 Feb]Treats for the Cows(DP)
- bzoj 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典【dp】
- BZOJ1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典 DP
- bzoj 1652: [Usaco2006 Feb]Treats for the Cows【区间dp】
- 【BZOJ 1592】[Usaco2008 Feb]Making the Grade 路面修整 dp优化之转移变状态
- bzoj5196 [Usaco2018 Feb]Taming the Herd(dp)
- 【BZOJ】1652: [Usaco2006 Feb]Treats for the Cows(dp)