bzoj3791作业*
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作业*相关推荐
- [BZOJ3791]作业
Description 众所周知,白神是具有神奇的能力的. 比如说,他对数学作业说一声"数",数学作业就会出于畏惧而自己完成:对语文作业说一声"语",语文作业就 ...
- bzoj3791 作业
Description 众所周知,白神是具有神奇的能力的. 比如说,他对数学作业说一声"数",数学作业就会出于畏惧而自己完成:对语文作业说一声"语",语文作业就 ...
- LeetCode简单题之在既定时间做作业的学生人数
题目 给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间. 已知,第 i 名学生在 startTime[i] 时开始写作业 ...
- 作业函数的定义与调用
作业函数的定义与调用 在 OneFlow 中,将训练.预测任务封装在一个函数中,统称为作业函数(job function),作业函数联系用户的业务逻辑与 OneFlow 管理的计算资源. 在 OneF ...
- 华东理工大学计算机应用基础,最新华东理工大学计算机应用基础网上作业及全部答案...
精品文档 华东理工大学计算机应用基础网上作业及全部答案 2012计算机应用基础答案: 一.选择题 1.文件夹是用来对应用程序.文件进行分组的,以下说法中()正确.答:一个文件夹内可以包含文件.应用程序 ...
- 《小团团团队》第五次作业:项目需求分析改进与系统设计
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验九 团队作业5-团队项目需求改进与系统设计 团队名称 小团团团队 作业学习目标 (1)掌握面向对象需求分析方法:(2) ...
- 2017级面向对象程序设计 作业三
Deadline:2018-05-13 22:00pm 题目升级 一栋10层的大楼(楼层编号1-10),设3台无限载重的电梯,初始时电梯停在1层.其中:1号电梯只能停留在奇数层,2号电梯可以各层都停留 ...
- 201621123068 作业08-集合
1. 本周学习总结 2. 书面作业 1. ArrayList代码分析 1.1 解释ArrayList的<contains>源代码 答:源代码 public boolean contains ...
- 代码管理和版本管理的作业流程以及规范是怎样的?
代码管理和版本管理的作业流程以及规范是怎样的? 代码管理和版本管理的作业流程以及规范是怎样的?下面以文档的形式进行详细分析,希望能够给予测试人员一些帮助和指导. 本文目的 本文试图提供一套有效进行代码 ...
最新文章
- python ctypes实现api测试_Python与C之间的相互调用(Python C API及Python ctypes库)
- web前端技巧分享:vue过滤器的那点事!
- OpenGL编程轻松入门之二次几何体
- 进程间通信IPC(一)(半双工管道和消息队列)
- C# 代码注释生成代码提示和帮助文档
- selenium--python如何定位一组元素并返回文本值
- 为类型库(Type Library)生成帮助文件
- C#基础知识梳理系列七:字符串
- openwrt安装aliddns使用阿里云ddns
- SylixOS之OK6410开发板系统烧写
- 华氏度和摄氏度转换for-Python
- 计算机专业的优秀学长寄语大一新生,学长学姐对大一新生的寄语 大学学长学姐寄语励志...
- Postman团队协作开发
- Python笔记:利用pygame模块实现三原色颜色滚动条效果
- “COMSOL Multiphysics多物理场仿真技术与应用” 电化学专题
- 配置D3D8到vs2012项目中遇到的问题和解决过程
- Pandas 根据category自定义排序
- 中职计算机应用专业课堂教学,谈谈中职计算机应用基础课程教学中翻转课堂研究...
- AN OPEN-SOURCE SPEAKER GENDER DETECTION FRAMEWORK FOR MONITORING GENDER EQUALITY
- 手把手教你写!黑马培训java需要多长时间