整理的算法模板合集: ACM模板



尺取法

题目中要我们求最多改变k次后连续的1的最长长度。那么转换一下,不就是求至多包含k个0的子串的最长长度吗?
直接套用尺取法的思想,维护两端点,一旦0的个数超过k左端点就右移一位(要用if而不是while,不然会RE,因为一位就够了,最后的答案也不会出错)

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
#include<queue>
using namespace std;
typedef long long ll;
typedef pair<int, int> PII ;
const int N = 500007, M = 5000007, INF = 0x3f3f3f3f;int n, m, k;
int a[N];
int main()
{scanf("%d%d", &n, &k);for(int i = 1;i <= n; ++ i){scanf("%d", &a[i]);}int l = 1, r = 1;int cnt = 0;int maxv = 0, ml, mr, ans = 0;//维护一个区间,使得区间内的0的个数不超过k个的最长区间长度for(int r = 1; r <= n; ++ r){cnt += !a[r];maxv += 1;if(cnt > k){cnt -= !a[l];l ++ ;maxv -= 1;}if(maxv > ans){ans = maxv, ml = l, mr = r;}}printf("%d\n", ans);for(int i = ml; i <= mr ; ++ i)a[i] = 1;for(int i = 1; i <= n; ++ i)printf("%d ",a[i]);return 0;
}

CF660C Hard Process(尺取法)相关推荐

  1. #尺取法# 尺取法总结和经典例题

    题目链接:POJ3061 Subsequence 题目链接:Educational Codeforces Round 11C. Hard Process 题目链接:UVA11572 - Unique ...

  2. 【常用技巧精选】尺取法

    整理的算法模板合集: ACM模板 目录 1.反向扫描 1 找指定和的整数对 A.UVA1121 Subsequence B.POJ 3320 Jessica's Reading Problem C.l ...

  3. ACM—各种模拟 总结(字符串,尺取法,数学问题)习题汇总

    目录 一.字符串模拟 二. 高精度计算 1. 回文数(高精度,进制转换) 三.数学问题模拟 四.尺取法(双指针法) 1.都说小镇的切糕贵 (尺取法,字符串) umi和弓道 五.奇怪的模拟 x的位数=l ...

  4. 尺取法 POJ 3601 Subsequence

    题目传送门 1 /* 2 题意:求连续子序列的和不小于s的长度的最小值 3 尺取法:对数组保存一组下标(起点,终点),使用两端点得到答案 4 1. 记录前i项的总和,求[i, p)长度的最小值,用二分 ...

  5. poj2739(尺取法+质数筛)

    题意:给你一个数,问这个数能否等于一系列连续的质数的和: 解题思路:质数筛打出质数表:然后就是尺取法解决: 代码: #include<iostream> #include<algor ...

  6. 尺取法 || emmmm

    给定两个上升的数组,一个数组任取一个数,求两个数差的min 尺取法emm 也不知道对不对 #include <stdio.h> #include <stdlib.h> #def ...

  7. POJ 3320 尺取法,Hash,map标记

    1.POJ 3320 2.链接:http://poj.org/problem?id=3320 3.总结:尺取法,Hash,map标记 看书复习,p页书,一页有一个知识点,连续看求最少多少页看完所有知识 ...

  8. poj_2739 尺取法

    题目大意 给定一个数字N,N可能由1个或多个连续的素数求和得到,比如41 = 2+3+5+7+11+13, 41 = 11+13+17, 41 = 41.求出对于N,所有可能的组合形式. 题目分析 先 ...

  9. poj2566Bound Found尺取法进阶(java)

    题目链接: 这个尺取法的思想挺好的,如果第一次做尺取法题,不妨看下尺取法入门题. 题目大意: 多组测试数据(0,0)截止. 每组数据输入 n,k(n数字个数,k询问次数) 下一行n个数表示序列. 接下 ...

最新文章

  1. 显示计算机程序的表格如何打开,电脑表格怎么小窗口显示不出来怎么办
  2. OpenYurt 联手 eKuiper,解决 IoT 场景下边缘流数据处理难题
  3. selenium 替代品_每个人都在谈论Selenium替代品-明智地选择!
  4. html嵌套html解决办法(object/object)
  5. git clone 出现错误
  6. python设计模式6-适配器模式
  7. Python -- 大小写转换
  8. JSON Web Token(缩写 JWT) 目前最流行的跨域认证解决方案
  9. 架构师必备!分布式高并发都不会还做Java程序员
  10. MVC4 数据验证、特性、自动属性总结
  11. 关于java接口、父类子类之间调用和强制转换的关系
  12. 拓端tecdat|R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样
  13. Eclipse自己定义keystore
  14. SecKill——一款超级好用的抢单软件
  15. 全国各地知名互联网公司内推QQ群
  16. gitbook:node_modules\npm\node_modules\graceful-fs\polyfills.js:287
  17. 【Python军火库】smtplib+email:一起来用Python发送电子邮件吧!
  18. 从数学上推导伴随矩阵特征值
  19. 云起实验室:零基础入门Serverless:一键部署红白机小游戏
  20. 【JAVA】一种寻找错误的方法

热门文章

  1. 【Python基础】手把手教你数据可视化!(附实例讲解)
  2. 深度理解目标检测(MMdetection)-HOOK机制
  3. 阿里、百度、字节跳动、京东、地平线等计算机视觉实习生面试经历分析,已成功上岸!...
  4. 【OpenCV 4开发详解】图像直方图绘制
  5. 几张图看懂列式存储(转)
  6. 安徽池州贵池中学老师经典语录,我喷了
  7. Java面向对象----封装概念
  8. 在JAVA EE中配置hibernate以及hibernate hello world
  9. 一道关于call和this的JS面试题
  10. Javascript全局变量var与不var的区别深入解析