题目链接: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相关推荐

  1. python列表赋值 连续整数_列表切片赋值,小技巧(Python基础)。

    列表的操作相对我还是比较熟悉的,累的时候看一些基础教程,巩固加补充知识点. 随便提示一下,list命令不是函数,是一个类. 列表的切片赋值: In [1]: name = list('sidian') ...

  2. 计算机电路英文专业翻释术语,电子专业词汇翻译中英文对照(新手必备知识)

    1 backplane 背板 2 Band gap voltage reference 带隙电压参考 3 benchtop supply 工作台电源 4 Block Diagram 方块图 5 Bod ...

  3. 工业自动化程序计算机英语,工业自动化常用英语

    Automated inspection 自动化检验 automatic assembly system 自动化装配系统 applied biomechanics 应用生物力学 CAD/CAM 计算机 ...

  4. 感应电动机的启动压降计算

    Voltage Sag due to Induction motor starting April 1, 2018adminPower Engineering 本文转自http://voltage-d ...

  5. 花几个小时做一个看股票的摸鱼神器

    文章目录 项目介绍 先从界面开始吧 让我们的窗口动起来,还能隐藏哦 从哪爬点股票数据呢 添加一支你的自选股吧 获取些股票信息来填充我们的窗体吧 让我们的股票价格滚动起来吧 删除.置顶.排序,你还能想到 ...

  6. SHELL脚本编程练习题

    文章目录 1.编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核 2.编写脚本 backup.sh,可实现每日将/etc/目录备份到/backu ...

  7. Java课设——ArxivHelper

    项目地址https://github.com/PKUCSS/arxiv-helper How to run运行方式:java -jar arxiv-helper.jar Tips:We use pyi ...

  8. Python徒手实现识别手写数字—图片的读入与处理

    写在前面 在上一篇文章Python徒手实现手写数字识别-大纲中,我们已经讲过了我们想要写的全部思路,所以我们不再说全部的思路. 我这一次将图片的读入与处理的代码写了一下,和大纲写的过程一样,这一段代码 ...

  9. Inversion Sequence(csu 1555)

    Description For sequence i1, i2, i3, - , iN, we set aj to be the number of members in the sequence w ...

最新文章

  1. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:小技能 DeleteMark)...
  2. Windows下使用gvim
  3. 用Android访问本地站点---(localhost,10.0.2.2)要区别
  4. 固定在左右两侧不动的广告条 样式
  5. unable to launch什么意思_都表示太...以至于,so … that…?与too… to …有着明显区别...
  6. 【C语言进阶深度学习记录】二十九 main函数与命令行参数
  7. Apache JMeter 字体、字体大小修改
  8. Python中eval与exec的使用及区别
  9. 目标检测用在《人脸识别》
  10. 【数据结构】线段树(interval tree)
  11. [zt]扫盲,什么叫MAD(a11s)
  12. php pacs,PACS系统
  13. pytorch损失函数
  14. 小甲鱼python【魔法方法-算数运算】学习笔记
  15. 猿创征文 | 2022 我的开发者工具
  16. 微信小程序直播是怎么做的
  17. 计算机科班生学计算机组成原理的意义何在呢?
  18. 拿下多家主机厂数百万前装定点,禾赛科技激光雷达量产进程加速
  19. 40款非常漂亮的免费下载 HTML5 CSS3 网站模板欣赏
  20. 训练模型两种保存方式 saver& load

热门文章

  1. rds 数据导入mysql_将数据导入到 Amazon RDS 数据库实例
  2. 宏程序编程软件手机版_分享 | 手机上可以用来学习编程的软件,主要的都在这里...
  3. 五天学习Mysql数据库教程(一)1.1数据库的基本概念
  4. JAVA复习( StringBuffer 和 StringBuilder)
  5. JAVA复习(CharSequence接口、RunTime类、System类、object类中的finalize())
  6. sql开启mysql远程连接_CentOS系统中安装MySQL和开启MySQL远程访问的方法
  7. aix么把占用的端口释放掉_AIX 环境下Telnet返回提示所有端口已经被占用,处理方法...
  8. elementui可编辑单元格_关于遥感解译点室内解译编号的读取编辑方法
  9. ad20如何画出pcb板大小_多层pcb板是如何抄板的?
  10. 在阿里、腾讯、美团工作有什么区别?