Description

众所周知,白神是具有神奇的能力的。

比如说,他对数学作业说一声“数”,数学作业就会出于畏惧而自己完成;对语文作业说一声“语”,语文作业就会出于畏惧而自己完成。

今天,语文老师和数学老师布置了许多作业,同学们纷纷寻找白神寻求帮助。白神作为一个助人为乐的人,便答应下来。

回到家,白神将这N份作业按顺序摊开,发现语文作业数学作业混在一起,这就让白神苦恼起来,他如果对连续一段作业喊出“数”,那么里面的语文作业就会由于过于慌乱而写满错解,不过如果白神再对其喊一声“语”,它又会写满正确答案。

虽然白神很强大,但是能力还是有限制的,一天只能使用K次,现在,白神想知道他能正确的完成多少份作业。

Input

第一行两个整数N,K。
第二行N个0或者1表示这份作业是语文作业还是数学作业。

Output

输出一个整数,表示白神能正确完成的作业数。

Sample Input

5 2
0 1 0 1 0

Sample Output

4

HINT

100%的数据中N ≤ 100000,K<=50.

因为是覆盖k段,最多可以有2k-1段01相间的区间
然后f[i][j][0/1]表示前i个涂j段,并且最后一段是0/1的方案数
#include<cstdio>
#include<iostream>
using namespace std;
inline int read()
{int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
int a[100010];
int f[100010][100][2];
int n,m;
int main()
{n=read();m=2*read()-1;for (int i=1;i<=n;i++)a[i]=read();for (int i=1;i<=n;i++)for (int j=1;j<=m;j++){f[i][j][0]=max(f[i-1][j][0],f[i-1][j-1][1])+(a[i]==0);f[i][j][1]=max(f[i-1][j][1],f[i-1][j-1][0])+(a[i]==1);}printf("%d\n",max(f[n][m][0],f[n][m][1]));return 0;
}

转载于:https://www.cnblogs.com/zhber/p/4179722.html

bzoj3791 作业相关推荐

  1. bzoj3791作业*

    bzoj3791作业 题意: 对一个01序列进行染色,每次能将一个区间染上色(可覆盖之前染的),共能染k次,求最大正确染色个数.n≤100000,m≤50. 题解: 结论:染k次最多能把序列分成2*k ...

  2. [BZOJ3791]作业

    Description 众所周知,白神是具有神奇的能力的. 比如说,他对数学作业说一声"数",数学作业就会出于畏惧而自己完成:对语文作业说一声"语",语文作业就 ...

  3. LeetCode简单题之在既定时间做作业的学生人数

    题目 给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间. 已知,第 i 名学生在 startTime[i] 时开始写作业 ...

  4. 作业函数的定义与调用

    作业函数的定义与调用 在 OneFlow 中,将训练.预测任务封装在一个函数中,统称为作业函数(job function),作业函数联系用户的业务逻辑与 OneFlow 管理的计算资源. 在 OneF ...

  5. 华东理工大学计算机应用基础,最新华东理工大学计算机应用基础网上作业及全部答案...

    精品文档 华东理工大学计算机应用基础网上作业及全部答案 2012计算机应用基础答案: 一.选择题 1.文件夹是用来对应用程序.文件进行分组的,以下说法中()正确.答:一个文件夹内可以包含文件.应用程序 ...

  6. 《小团团团队》第五次作业:项目需求分析改进与系统设计

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验九 团队作业5-团队项目需求改进与系统设计 团队名称 小团团团队 作业学习目标 (1)掌握面向对象需求分析方法:(2) ...

  7. 2017级面向对象程序设计 作业三

    Deadline:2018-05-13 22:00pm 题目升级 一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层.其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留 ...

  8. 201621123068 作业08-集合

    1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的<contains>源代码 答:源代码 public boolean contains ...

  9. 代码管理和版本管理的作业流程以及规范是怎样的?

    代码管理和版本管理的作业流程以及规范是怎样的? 代码管理和版本管理的作业流程以及规范是怎样的?下面以文档的形式进行详细分析,希望能够给予测试人员一些帮助和指导. 本文目的 本文试图提供一套有效进行代码 ...

最新文章

  1. hadoop写文件 java_写文件 - Hadoop 学习手册_教程_Java开发社区
  2. Virtex-6器件的时钟资源、混合模式时钟管理器(MMCM)
  3. OpenGL相关网站
  4. java hashmap 去重复_为什么我在Java HashMap中得到重复的键?
  5. JDeodorant 的使用
  6. 深入理解Java虚拟机(类文件结构)
  7. 顶级的CSS和Javascript动画框架推荐
  8. IntelliJ IDEA安装与JDK 环境变量配置
  9. BootStrap日历插件
  10. 在CSDN博客和QQ微信等社交媒体中使用表情符号(保姆级图文+实现代码)【杂记】
  11. 解决树莓派中文显示框框乱码
  12. 2022年北京购房攻略三 (政策篇)
  13. android写轮眼,打造iOS般流畅的安卓 神器写轮眼使用教程
  14. c语言日历程序 带农历,一个完整的日历(含有农历)
  15. python3获取网页天气预报信息并打印
  16. mysql排名第一_SQL查询排名第二名的信息
  17. 手动推导计算AES中的s盒的输出
  18. GLAD:大气像差与自适应光学
  19. JS如何获取指定元素下的子元素的值
  20. 深圳市的企业提交等保备案申请需要提交哪些资料

热门文章

  1. Tracking 的SimTrack 以及 4D seg
  2. TensorFlow应用实战-17-Qlearning实现迷宫小游戏
  3. matlab函数包_Matlab论文插图绘制的270种补充颜色
  4. Git 好用的客户端 SourceTree破解
  5. 计算机二级证学的什么,考计算机二级证需要学什么
  6. java instanceof运算符_java的instanceof运算符
  7. 信安教程第二版-第16章网络安全风险评估技术原理与应用
  8. 信安考友分享:软考信息安全工程师备考四年,终成正果
  9. oracle 提示存在lob,Oracle数据库出现ORA-19566 LOB坏块的处理记录
  10. Windows Phone Local Database Schema Upgrade Part1 - Adding new columns