[尺取法] CF660 C.Hard Process
来源:互联网 发布:python unicode转ascii 编辑:程序博客网 时间:2024/05/16 23:44
C. Hard Process
题意:
给一个01串,最多可以把k个0变成1,求最长连续1的长度,并且要输出最后的串。
题解:
two pointers尺取,
#include<bits/stdc++.h>using namespace std;const int N = 3e5+5;int num[N];int main(){ int n, k; scanf("%d%d", &n, &k); for(int i = 1; i <= n; ++i) scanf("%d", num+i); int l = 1, r = 1, zr = 0, ans = 0, ansl = 1, ansr = 0; while(r <= n){ while(r <= n && zr <= k){ if(!num[r]){ if(zr == k) break; else ++zr; } ++r; } if(r-l > ans) ans = r-l, ansl = l, ansr = r-1; while(l <= n && num[l]) ++l; --zr, ++l; } printf("%d\n", ans); for(int i = 1; i <= n; ++i){ if(ansl <= i && i <= ansr) printf("1 "); else printf("%d ", num[i]); }}
0 0
- [尺取法] CF660 C.Hard Process
- Codeforces 660C-Hard Process【尺取法经典练习】
- 【CodeForces】660C - Hard Process(二分,尺取法)
- Educational Codeforces Round 11 C. Hard Process 尺取法
- CF#660 C. Hard Process(尺取法)
- codeforces_660C. Hard Process(尺取法)
- C. Hard Process
- CodeForces 660C Hard Process
- codeforces 660C Hard Process
- codeforces 660C Hard Process
- Codeforces 660C Hard Process【二分 Or 尺取】
- Codeforces 660C Hard Process 【二分】
- CodeForces 660C Hard Process (队列)
- Hard Process
- Educational Codeforces Round 11 C. Hard Process(尺取 二分 区间天数最多
- CodeForces - 660C Hard Process (二分)好题
- Codeforces 660C Hard Process【二分】经典题!好题!
- codeforces 676C (尺取法)
- YUY2转RGB
- C++实现——Remove Invalid Parentheses
- HDU 2719 The Seven Percent Solution
- JNI 开发笔记
- 12_求s=a+aa+aaa+...+aa...a的值
- [尺取法] CF660 C.Hard Process
- 初学者刚学c++在定义类时只有成员变量易犯的错误
- 进制间的转换,以及逻辑运算,位运算在进制间的使用
- 关于java“配置环境变量”的那些事
- 自学笔记3(方法的重写)
- U3D关于物体移动的方法的实例
- 正则表达式匹配
- 使用gulp来自动化部署前端项目
- Centos 上网