Codevs3369 膜拜

3369 膜拜

题目描述 Description

神牛有很多…当然…每个同学都有自己衷心膜拜的神牛.
某学校有两位神牛,神牛甲和神牛乙。新入学的N位同学们早已耳闻他们的神话。所以,已经衷心地膜拜其中一位了。
现在,老师要给他们分机房。
但是,要么保证整个机房都是同一位神牛的膜拜者,或者两个神牛的膜拜者人数差不超过M。
另外,现在N位同学排成一排,老师只会把连续一段的同学分进一个机房。老师想知道,至少需要多少个机房。

输入描述 Input Description

输入文件第一行包括N和M。
之后N行,每行一个整数,1表示神牛甲的崇拜者,2表示神牛乙的崇拜者。

输出描述 Output Description

输出一个整数,表示最小需要机房的数量。

样例输入 Sample Input

5 1 

2  


2

样例输出 Sample Output

2

数据范围及提示 Data Size & Hint

对于30%的数据,有1≤N,M≤50;
对于100%的数据,有1≤N,M≤2500

/*
  dp[i]表示前i个同学所需的最少机房数
  在一段区间j+1~i中,若这段区间内的同学满足条件,则可得到状态转移方程
      dp[i]=max{dp[j]+1}
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
using namespace std;
#define maxn 2510
int n,m,a[maxn],dp[maxn];
int main(){
    scanf("%d%d",&n,&m);
    memset(dp,127/3,sizeof(dp));
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    dp[0]=0;
    for(int i=1;i<=n;i++){
        int t1=0,t2=0;
        if(a[i]==1)t1++;
        if(a[i]==2)t2++;
        for(int j=i-1;j>=0;j--){
            if(!t1||!t2||abs(t1-t2)<=m){
                dp[i]=min(dp[i],dp[j]+1);
            }
            if(a[j]==1)t1++;
            if(a[j]==2)t2++;
        }
    }
    printf("%d",dp[n]);
}
时间: 2024-10-14 12:45:26

Codevs3369 膜拜的相关文章

noip前的dp挣扎

写了几道比较水的dp,但是也有很多问题,初始化和循环的顺序等问题.还有最大的问题:动规方程... CODEVS1253 超级市场 题目描述 Description 某人喜欢按照自己的规则去市场买菜,他每天都列一个买菜的清单,自由市场的菜码放也有一个顺序,该人有一个特点,就是按顺序买菜,从不走回头路,当然,她希望能花最好的钱买到所有的菜,你能帮帮他吗? 输入输出数据如下图: 思路:比较简单的dp,f[i][j]表示市场上的菜单到i需购买的菜单到j所需的最少花费,若i=j,则更新这个点,否则f[i]

P2456 - 膜拜神犇

P2456 - 膜拜神犇 Description 有一个 n 个点 m 条边的有向图, 蒟蒻可以从 1 号点出发在图上走, 并且最终需要回到 1 号点. 每个点都有一个神犇( 包括 1 号点), 每次经过一个没到过的点, 蒟蒻都会膜拜那位 神犇. 蒟蒻希望膜拜尽可能多的神犇. 由于蒟蒻膜拜神犇的欲望非常强烈, 所以他可以有一次机会逆着一条有向边的方向走. ( 需要注意的是, 这条边的方向不会改变). 你现在想知道, 蒟蒻最多能膜拜多少神犇? Input 第一行 2 个整数 n. m, 分别表示图

XMOJ 1133: 膜拜大牛 计算几何/两圆相交

1133: 膜拜大牛 Time Limit: 1 Sec  Memory Limit: 131072KiBSubmit: 9619  Solved: 3287 题目连接 http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1133 Description 由于wywcgs是个很菜的菜鸟,所以每到一个新的地方,他都必须去膜拜当地的大牛.但是大牛们都没空理他,所以无可奈何之下,wywcgs只能寻找其他 的办法.为了一次Orz到更多的大牛,他想到了一个好方

uva 230 Borrowers(摘)&lt;vector&gt;&quot;结构体“ 膜拜!

I mean your borrowers of books--those mutilators of collections, spoilers of the symmetry of shelves, and creators of odd volumes. --Charles Lamb, Essays of Elia (1823) 'The Two Races of Men' Like Mr. Lamb, librarians have their problems with borrowe

cogs 1656. 膜拜神犇

1656. 膜拜神犇 ★☆   输入文件:trioxorz.in   输出文件:trioxorz.out   简单对比时间限制:0.5 s   内存限制:128 MB [题目描述] bigmingod 是F.M.S信息组的组草,同时也是万人膜拜的神犇,整个年级暗恋他的女生不计其数,这让机房里的三只蒟蒻QYHDS,LZK,OIdiot羡慕嫉妒恨.为了获得像bigmingod一样的成就,这三只蒟蒻决定每次竞赛课前对他进行膜拜--三个人构成一个三角形,将bigmingod包围在内部(不包括边上),称为

膜拜acm大牛 虽然我不会这题,但是AC还是没有问题的~(转自hzwer)

wywcgs: 亦称Lord Wu,俗名吴垠,2009级厦门大学智能科学与技术学院研究生,本科就读于哈尔滨工业大学.因其深厚的算法功底与独到的思维方式,被尊为“吴教主”,至今声威犹存. 2006年起参加ACM/ICPC竞赛,获得分别获得上海.西安.长春三枚区域赛银牌. 2008年获得GCJ-BeiJing Onsite参赛资格,并在比赛中表现优异,获得Final资格,后因个人原因,推掉了总决赛资格,并忙于为各赛区出题. 2010年复出比赛,在福建省举办的全国邀请赛中力压群牛,获得赛区金牌,给同场

Github上最受关注的前端大牛 快来膜拜把!

Github上最受关注的前端大牛 快来膜拜吧! 来源:csdn 发布时间:2014-08-06 阅读次数:4058 14 本文列出了Github上最受关注的10位前端大牛.看看他们负责的项目和提交的代码,你是不是能从中学到些什么? 1. Paul Irish Github主页: https://github.com/paulirish 个人主页: http://paulirish.com 维基百科: http://en.wikipedia.org/wiki/Paul_Irish Paul Iri

膜拜(codevs 3369)

3369 膜拜 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 神牛有很多…当然…每个同学都有自己衷心膜拜的神牛.某学校有两位神牛,神牛甲和神牛乙.新入学的N位同学们早已耳闻他们的神话.所以,已经衷心地膜拜其中一位了.现在,老师要给他们分机房.但是,要么保证整个机房都是同一位神牛的膜拜者,或者两个神牛的膜拜者人数差不超过M.另外,现在N位同学排成一排,老师只会把连续一段的同学分进一个机房.老师想知道,至少需要多少个机房.

hdu 1452 Happy 2004 膜拜这推导过程

Happy 2004 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 920    Accepted Submission(s): 648 Problem Description Consider a positive integer X,and let S be the sum of all positive integer divis