【题目链接】:https://csacademy.com/contest/round-36/task/safe-spots/

【题意】

给你n个数字构成的序列;
每个位置上的数都由0和1组成;
对于每个0;
假设其位置为i;
如果[i-k..i+k]这个范围内1的个数不超过1,则称它合法;
问符合要求的这样的0的个数.

【题解】

前缀和.
直接获取sum[i+k]-sum[i-k-1]就是这个范围里面1的个数了;
(程序用的是其他方法..维护第i个数字前k个数里面有多少个1。以及后面k个数字里面有多少个1)

【Number Of WA】

0

【反思】

第一反应不是前缀和的做法说明我还很菜?

【完整代码】

#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x)
#define Open() freopen("F:\\rush.txt","r",stdin)
#define Close() ios::sync_with_stdio(0)typedef pair<int,int> pii;
typedef pair<LL,LL> pll;const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 1e5;int n,k,a[N+100],pre[N+100],after[N+100],now;int main(){//Open();Close();cin >> n >> k;rep1(i,1,n)cin >> a[i];now = 0;rep1(i,1,n){pre[i] = now;if (a[i]==1) now++;if (i-k>=1 && a[i-k]==1) now--;}now = 0;rep2(i,n,1){after[i] = now;if (a[i]==1) now++;if (i+k<=n && a[i+k]==1) now--;}int ans = 0;rep1(i,1,n)if (a[i]==0 && pre[i]+after[i]<=1)ans++;cout << ans << endl;return 0;
}

转载于:https://www.cnblogs.com/AWCXV/p/7626218.html

【Round #36 (Div. 2 only) B】Safe Spots相关推荐

  1. 2017年浙工大迎新赛热身赛 J Forever97与寄信 【数论/素数/Codeforces Round #382 (Div. 2) D. Taxes】...

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言262144K 64bit IO Format: %lld 题目描述 Forever97与未央是一对笔友,他们经 ...

  2. 【VK Cup 2016 - Round 1 (Div 2 Edition)C】【构造】Bear and Forgotten Tree 3 构造一棵树直径为d且点1的深度为h

    Bear and Forgotten Tree 3 time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  3. Codeforces Round #434 (Div. 2)【A、B、C、D】

    Codeforces Round #434 (Div. 2) codeforces 858A. k-rounding[水] 题意:已知n和k,求n的最小倍数x,要求x后缀至少有k个0. 题解:答案就是 ...

  4. Codeforces Round #699 (Div. 2) (A ~ F)6题全,超高质量良心题解【每日亿题】2021/2/6

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) (A.B.C)[每日亿题]2021/2/ ...

  5. Codeforces Round #698 (Div. 2)(A ~ F)6题全,超高质量题解)【每日亿题】2021/2/4

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #698 (Div. 2)(A ~ F)6题全,超 ...

  6. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  7. 【Codeforces Round #767 (Div. 2)】 C. Meximum Array 题解

    [Codeforces Round #767 (Div. 2) ]C. Meximum Array 题解 1629C: Meximum Array 题解 [Codeforces Round #767 ...

  8. 【Codeforces】Round #488 (Div. 2) 总结

    [Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rat ...

  9. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

最新文章

  1. 幅度调制后的频率混叠
  2. 用PROCEDURE ANALYSE优化MYSQL表结构
  3. api接口参数加密_解决API接口开发安全性的四种方案
  4. php连接redis报错,PHP使用phpredis链接redis错误
  5. Python名称空间是什么?
  6. HTTP与HttpServlet
  7. Intellij IDEA调试
  8. 微信小程序笔记六模块化 —— module.exports
  9. 知识图谱中的关系方向与强度研究
  10. HTTP1.1/2.0与QUIC协议
  11. curl php 禁用ip6,CentOS 6禁用IPv6解决curl Couldn’t resolve host或dns解析慢
  12. 模拟地铁乘车推荐c语言,模拟地铁新手攻略 新手必看三要素
  13. JVM快速调优手册v1.0之三:内存分配策略
  14. newifi路由器 php,新路由newifi固件下载
  15. 离线强化学习总结!(原理、数据集、算法、复杂性分析、超参数调优等)
  16. JDK版本切换——JDK1.1.1
  17. 为什么要用 Tair 来服务低延时场景 - 从购物车升级说起
  18. python数据可视化代码示例
  19. 加油吧 !!!冲冲冲
  20. python代码表达元旦节_2020元旦的python学习

热门文章

  1. AI时代的神马搜索!神马智能对话技术深度解读
  2. python实现基于八方向判断的断裂连接
  3. 英雄联盟手游主播否认部分英雄后期的作用,难道阿卡丽没未来?
  4. linux find 排除某目录或文件 执行
  5. oracle cluster(簇)的简单使用
  6. 从产品与程序员打架事件,谈谈需求管理的沟通能力
  7. 通过调试对WriteFile()API的钩取
  8. [学习笔记]带修改主席树
  9. iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享...
  10. JavaScript 访问对象属性和方法及区别