CF660C Hard Process
题面传送门
明显可以尺取法。
先把每一位取反,则枚举右端点,左端点单调不降则直接暴力枚举即可。
代码实现:
#include<cstdio>
#define max(a,b) ((a)>(b)?(a):(b))
using namespace std;
int n,m,k,a[300039],q[300039],x,y,z,l,r=1,mid,tot,ans;
int main(){register int i,j;scanf("%d%d",&n,&m);for(i=1;i<=n;i++) scanf("%d",&a[i]),a[i]^=1,q[i]=q[i-1]+a[i];for(i=1;i<=n;i++){while(q[i]-q[r-1]>m) r++;ans=max(ans,i-r+1);}r=1;for(i=1;i<=n;i++){while(q[i]-q[r-1]>m) r++;if(i-r+1==ans){for(j=r;j<=i;j++) a[j]=0;printf("%d\n",ans);for(j=1;j<=n;j++){printf("%d",a[j]^1);if(j!=n) printf(" ");}return 0;}}
}
CF660C Hard Process相关推荐
- CF660C Hard Process(尺取法)
整理的算法模板合集: ACM模板 尺取法 题目中要我们求最多改变k次后连续的1的最长长度.那么转换一下,不就是求至多包含k个0的子串的最长长度吗? 直接套用尺取法的思想,维护两端点,一旦0的个数超过k ...
- 使用Java监控工具出现 Can't attach to the process
问题重现 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ➜ jinfo -flags 3032 Attaching ...
- Mr. Process的一生-Linux内核的社会视角 (2)启动
原文地址: http://www.manio.org/cn/startup-of-linux-view-of-society.html 其实这才应该是这一系列文章的第一节,因为这篇文章讲的是盘古开天地 ...
- 【linux】在CentOS7上更改端口号时报错:Job for sshd.service failed because the control process exited with error
1.问题描述 在在CentOS7上更改端口号时报错: Job for sshd.service failed because the control process exited with error ...
- 【Qt】ubuntu14.04.5 qt5.6中使用opencv3.4报错:Using GTK+ 2.x and GTK+ 3 in the same process is not supported
问题描述 ubuntu14.04.5 qt5.6中使用opencv3.4报错: Using GTK+ 2.x and GTK+ 3 in the same process is not support ...
- 守护进程中创建的对象php,在PHP中生成守护进程(Daemon Process)
前两天看到一篇文章<如何使用PHP编写daemon process>,其中对核心代码却没有细说,我又查了一些资料,还看了一本<理解Unix进程>,才搞明白生成守护进程的时候发生 ...
- template.process(root, out)的用法(shiro项目中来的九)
假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情 ...
- Error:Execution failed for task ':app:dexDebug'. com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.Process ...
- symfony2 Process 组件的学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 安装 composer require "symfony/process:2.7.1" ##描述 proc ...
最新文章
- MIT 6.824 Lab2A (raft) -- Leader Election
- Java学习提升体系结构
- react native利用webvView嵌入h5页面以及RN与webView的通信
- JavaScript的学习
- WebService 的创建,部署和使用
- 《Linux内核设计与实现》读书笔记(六)- 内核数据结构
- 【转】Vue.js入门教程(二)在页面中引入vue的方式
- 【Python基础入门系列】第08天:Python List
- 【操作系统复习】操作系统的特征
- opencv画图_c++
- 大白菜安装服务器linux,通过U盘安装Debian
- Mac 下使用 homebrew 切换不同版本 php
- Sql Function defference returns and returns
- 海康摄像头如何查看IP,重置密码
- 计算机共享cmd,怎么用cmd共享文件
- Mysql基础(超详细)
- 韩信点兵python算法_韩信点兵算法流程图
- python求平方值,python – 字典的平方值
- go之无缓冲channel(通道)和有缓冲channel(通道)
- Docker基础学习