bzoj3791作业

题意:

对一个01序列进行染色,每次能将一个区间染上色(可覆盖之前染的),共能染k次,求最大正确染色个数。n≤100000,m≤50。

题解:

结论:染k次最多能把序列分成2*k-1段。故dp即可:

f[i][j][0]=max(f[i+1][j+1][1]+a[i]==1,f[i+1][j][0]+a[i]==0)

f[i][j][1]=max(f[i+1][j][1]+a[i]==1,f[i+1][j+1][0]+a[i]==0)

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define inc(i,j,k) for(int i=j;i<=k;i++)
 5 #define maxn 110
 6 #define INF 0x3fffffff
 7 using namespace std;
 8
 9 inline int read(){
10     char ch=getchar(); int f=1,x=0;
11     while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
12     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
13     return f*x;
14 }
15 int n,f[2][maxn][3],k,x,y; bool a[maxn*1000];
16 int main(){
17     n=read(); k=2*read()-1; inc(i,1,n)a[i]=read(); x=0; y=1;
18     for(int i=n;i>=1;i--){
19         f[x][k+1][0]=f[x][k+1][1]=-INF;
20         inc(j,1,k){
21             f[y][j][0]=max(f[x][j][0]+(a[i]==0),f[x][j+1][1]+(a[i]==1));
22             f[y][j][1]=max(f[x][j+1][0]+(a[i]==0),f[x][j][1]+(a[i]==1));
23         }
24         swap(x,y);
25     }
26     printf("%d",max(f[x][1][0],f[x][1][1])); return 0;
27 }

20160831

转载于:https://www.cnblogs.com/YuanZiming/p/5838098.html

bzoj3791作业*相关推荐

  1. [BZOJ3791]作业

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

  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. python ctypes实现api测试_Python与C之间的相互调用(Python C API及Python ctypes库)
  2. web前端技巧分享:vue过滤器的那点事!
  3. OpenGL编程轻松入门之二次几何体
  4. 进程间通信IPC(一)(半双工管道和消息队列)
  5. C# 代码注释生成代码提示和帮助文档
  6. selenium--python如何定位一组元素并返回文本值
  7. 为类型库(Type Library)生成帮助文件
  8. C#基础知识梳理系列七:字符串
  9. openwrt安装aliddns使用阿里云ddns
  10. SylixOS之OK6410开发板系统烧写
  11. 华氏度和摄氏度转换for-Python
  12. 计算机专业的优秀学长寄语大一新生,学长学姐对大一新生的寄语 大学学长学姐寄语励志...
  13. Postman团队协作开发
  14. Python笔记:利用pygame模块实现三原色颜色滚动条效果
  15. “COMSOL Multiphysics多物理场仿真技术与应用” 电化学专题
  16. 配置D3D8到vs2012项目中遇到的问题和解决过程
  17. Pandas 根据category自定义排序
  18. 中职计算机应用专业课堂教学,谈谈中职计算机应用基础课程教学中翻转课堂研究...
  19. AN OPEN-SOURCE SPEAKER GENDER DETECTION FRAMEWORK FOR MONITORING GENDER EQUALITY
  20. 手把手教你写!黑马培训java需要多长时间

热门文章

  1. 最新 ECSHOP v2.7.3数据表(88张表)
  2. 我的公交一卡通用不了了-_-
  3. 域控服务器发生w32time错误
  4. #人生中对我最重要的三位老师
  5. 【gin-04】 GIN-快速开始
  6. axios 参数对象的值为数组时,后端无法接收(待解决)
  7. less及编译工具介绍
  8. 用树莓派从0开始打造属于自己的服务器
  9. mysql 优化实例(百万级数据)
  10. GOOGLE突破图书馆入口IP限制之技巧