FZU 1914 Funny Positive Sequence
题目链接:Funny Positive Sequence
题意:给出一个数列,如果它的前i(1<=i<=n)项和都是正的,那么这个数列是正的,问这个数列的这n种变换里,
A(0): a1,a2,…,an-1,an
A(1): a2,a3,…,an,a1
…
A(n-2): an-1,an,…,an-3,an-2
A(n-1): an,a1,…,an-2,an-1
有多少是正的数列。
思路:比赛的时候想了很久很久,肯定是要求在一次线性扫描里solve这个两重循环才能解决的问题,最后想到应该是计算负数会影响的项,然后大腿就想出来了。
很巧妙地线性扫描,每次只要向前遍历,看这个负数会影响到哪一项,继续向前找就可以了,有些负数可以跳过的,于是就是一次循环解决了,模拟一下过程就知道了。注意最后,要扫描到temp>0或者直接扫描到i=0就可以了。【ACMer的脑洞可怕....】
#include <stdio.h>
#include <string.h>
#include <iostream>
#define maxn 500010
using namespace std;double a[maxn];
int cas = 0;int main() {int t;scanf("%d", &t);while(t--) {int n;scanf("%d", &n);for (int i=0; i<n; ++i) {scanf("%lf", &a[i]);}double temp = 0;bool vis[maxn];memset(vis, 0, sizeof(vis));bool flag = true;int sum = n;for (int i=n-1; i>=0; --i) {if (a[i]<=0 && flag) flag = false;if (flag == false) {temp += a[i];if (temp <= 0) vis[i] = 1, sum--;else flag = true, temp = 0;}}if (temp <= 0) {for (int i=n-1; i>=0; --i) {temp += a[i];if (temp <= 0 && !vis[i]) {vis[i] = 1;sum--;}else if (temp > 0) break;}}printf("Case %d: %d\n", ++cas, sum);}return 0;
}
转载于:https://www.cnblogs.com/icode-girl/p/5409938.html
FZU 1914 Funny Positive Sequence相关推荐
- python列表赋值 连续整数_列表切片赋值,小技巧(Python基础)。
列表的操作相对我还是比较熟悉的,累的时候看一些基础教程,巩固加补充知识点. 随便提示一下,list命令不是函数,是一个类. 列表的切片赋值: In [1]: name = list('sidian') ...
- 计算机电路英文专业翻释术语,电子专业词汇翻译中英文对照(新手必备知识)
1 backplane 背板 2 Band gap voltage reference 带隙电压参考 3 benchtop supply 工作台电源 4 Block Diagram 方块图 5 Bod ...
- 工业自动化程序计算机英语,工业自动化常用英语
Automated inspection 自动化检验 automatic assembly system 自动化装配系统 applied biomechanics 应用生物力学 CAD/CAM 计算机 ...
- 感应电动机的启动压降计算
Voltage Sag due to Induction motor starting April 1, 2018adminPower Engineering 本文转自http://voltage-d ...
- 花几个小时做一个看股票的摸鱼神器
文章目录 项目介绍 先从界面开始吧 让我们的窗口动起来,还能隐藏哦 从哪爬点股票数据呢 添加一支你的自选股吧 获取些股票信息来填充我们的窗体吧 让我们的股票价格滚动起来吧 删除.置顶.排序,你还能想到 ...
- SHELL脚本编程练习题
文章目录 1.编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核 2.编写脚本 backup.sh,可实现每日将/etc/目录备份到/backu ...
- Java课设——ArxivHelper
项目地址https://github.com/PKUCSS/arxiv-helper How to run运行方式:java -jar arxiv-helper.jar Tips:We use pyi ...
- Python徒手实现识别手写数字—图片的读入与处理
写在前面 在上一篇文章Python徒手实现手写数字识别-大纲中,我们已经讲过了我们想要写的全部思路,所以我们不再说全部的思路. 我这一次将图片的读入与处理的代码写了一下,和大纲写的过程一样,这一段代码 ...
- Inversion Sequence(csu 1555)
Description For sequence i1, i2, i3, - , iN, we set aj to be the number of members in the sequence w ...
最新文章
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:小技能 DeleteMark)...
- Windows下使用gvim
- 用Android访问本地站点---(localhost,10.0.2.2)要区别
- 固定在左右两侧不动的广告条 样式
- unable to launch什么意思_都表示太...以至于,so … that…?与too… to …有着明显区别...
- 【C语言进阶深度学习记录】二十九 main函数与命令行参数
- Apache JMeter 字体、字体大小修改
- Python中eval与exec的使用及区别
- 目标检测用在《人脸识别》
- 【数据结构】线段树(interval tree)
- [zt]扫盲,什么叫MAD(a11s)
- php pacs,PACS系统
- pytorch损失函数
- 小甲鱼python【魔法方法-算数运算】学习笔记
- 猿创征文 | 2022 我的开发者工具
- 微信小程序直播是怎么做的
- 计算机科班生学计算机组成原理的意义何在呢?
- 拿下多家主机厂数百万前装定点,禾赛科技激光雷达量产进程加速
- 40款非常漂亮的免费下载 HTML5 CSS3 网站模板欣赏
- 训练模型两种保存方式 saver& load
热门文章
- rds 数据导入mysql_将数据导入到 Amazon RDS 数据库实例
- 宏程序编程软件手机版_分享 | 手机上可以用来学习编程的软件,主要的都在这里...
- 五天学习Mysql数据库教程(一)1.1数据库的基本概念
- JAVA复习( StringBuffer 和 StringBuilder)
- JAVA复习(CharSequence接口、RunTime类、System类、object类中的finalize())
- sql开启mysql远程连接_CentOS系统中安装MySQL和开启MySQL远程访问的方法
- aix么把占用的端口释放掉_AIX 环境下Telnet返回提示所有端口已经被占用,处理方法...
- elementui可编辑单元格_关于遥感解译点室内解译编号的读取编辑方法
- ad20如何画出pcb板大小_多层pcb板是如何抄板的?
- 在阿里、腾讯、美团工作有什么区别?