校内模拟赛(二)(9)
时间:2019-09-18
本文章向大家介绍校内模拟赛(二)(9),主要包括校内模拟赛(二)(9)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题1:非负的部分和 【题目描述】 WZK最近收到了一个任务。 给出一个 n 个数的序列,为 A0,A1,,,,An-1,循环移动 k 位之后,这 成了 Ak,Ak+1,,,,An-1,A0,A1,,,,Ak-1。一种优秀的循环移动是, 前i(1<=i<=n)项和都满足不小于零。请给出这个序列优秀循环移动的个数。 这道题目当然是很简单啦,但是 WZK忙着吃小浣熊干脆面,手上油油的写不 是就麻烦你啦!如果能做到满分,他就会考虑请你吃一包哦~ 【输入格式】 第一行一个整数 n(1 <= n <= 10^6),表示有n个数。 第二行n个整数,Ai(-1000 <= Ai <= 1000)表示给出的第i 个数。 【输出格式】 一行一个整数,表示优秀循环移动的个数。 【样例输入】 3 2 2 1 【样例输出】
很神奇的题,直接单调队列维护就好了
手推很容易出公式的,qwq
#include<bits/stdc++.h> #define I inline using namespace std; const int N=1e6+7; int a[N],s[N*2],n,ans; deque<int> que; I int read() { int x=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9') {if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&&ch<='9') {x=x*10+ch-'0';ch=getchar();} return x*f; } int main() { freopen("sum.in","r",stdin); freopen("sum.out","w",stdout); n=read(); for (int i=1;i<=n;i++) s[i]=s[i-1]+read(),s[i+n]=s[i]; for (int i=n+1;i<=2*n;i++) s[i]+=s[n]; que.push_back(1); for (int i=1;i<n;i++) { while (!que.empty()&&s[que.back()]>s[i]) que.pop_back(); que.push_back(i); } for (int i=n;i<2*n;i++) { if (que.front()<=i-n) que.pop_front(); while (!que.empty()&&s[que.back()]>s[i]) que.pop_back(); que.push_back(i); if (s[que.front()]-s[i-n]>=0) ans++; } printf("%d\n",ans); return 0; }
原文地址:https://www.cnblogs.com/Hale522520/p/11541214.html
- gqlplus的简单使用(r6笔记第43天)
- Java基础-21(01)总结字符流,IO流编码问题,实用案例必做一遍
- zabbix中配置dg的监控(r6笔记第62天)
- Apache ActiveMQ 远程代码执行漏洞 (CVE-2016-3088)分析
- mysql5.5与mysq 5.6中禁用innodb引擎的方法
- 缓慢的update语句性能分析(r6笔记第61天)
- 一个dg警告发现的硬件问题 (r6笔记第60天)
- mysql几种存储引擎介绍
- Java基础-21(02)总结字符流,IO流编码问题,实用案例必做一遍
- DeDeCMS v5.7 密码修改漏洞分析
- Java基础-20(01)总结,递归,IO流
- 一个Oracle bug的手工修复(r6笔记第59天)
- 由drop datafile导致的oracle bug(r6笔记第56天)
- Java中static关键字的作用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Codeforces Beta Round #51 C. Pie or die(博弈 思维)
- SpringDateJPA 系列之 JPA 中的相关操作
- python Turtle 画出“精美碎花小清新树”快来拿代码!
- SpringDataJPA 系列之 JPA 简介
- Leetcode 264. 丑数 II (数论,三指针,类dp)
- Leetcode 628. 三个数的最大乘积 (数学)
- Vue 组件化开发
- Spring Boot 基础配置
- 读懂 Java 单例模式
- 数值分析第一次实习题报告
- Leetcode 409. 最长回文串 (Hash)
- Vue 前后端交互基础
- Spring Boot 入门
- Nginx 负载均衡
- Leetcode 289. 生命游戏(元胞自动机模拟)