zoukankan      html  css  js  c++  java
  • Salty Fish(区间和)

    Problem 2253 Salty Fish

    Accept: 35    Submit: 121
    Time Limit: 1000 mSec    Memory Limit : 32768 KB

    Problem Description

    海边躺着一排咸鱼,一些有梦想的咸鱼成功翻身(然而没有什么卵用),一些则是继续当咸鱼。一个善良的渔夫想要帮这些咸鱼翻身,但是渔夫比较懒,所以只会从某只咸鱼开始,往一个方向,一只只咸鱼翻过去,翻转若干只后就转身离去,深藏功与名。更准确地说,渔夫会选择一个区间[L,R],改变区间内所有咸鱼的状态,至少翻转一只咸鱼。

    渔夫离开后想知道如果他采取最优策略,最多有多少只咸鱼成功翻身,但是咸鱼大概有十万条,所以这个问题就交给你了!

    Input

     

    包含多组测试数据。

    每组测试数据的第一行为正整数n,表示咸鱼的数量。

    第二行为长n的01串,0表示没有翻身,1表示成功翻身。

     

    n≤100000

    Output

    在渔夫的操作后,成功翻身咸鱼(即1)的最大数量。

    Sample Input

    5 1 0 0 1 0 3 0 1 0

    Sample Output

    4 2

    Hint

    对于第一个样例,翻转区间[2,3],序列变为1 1 1 1 0。

    对于第二个样例,翻转整个区间,序列变为1 0 1。

    Source

    福州大学第十四届程序设计竞赛_重现赛 
     
     
    //对于 1 的鱼,翻身收益 -1 ,对于 0 的鱼,收益为 1 ,先这么处理,然后,就是求最大区间和的问题了
    有个坑,因为必须要翻一次!
     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 using namespace std;
     5 #define MX 100010
     6 
     7 int a[MX];
     8 
     9 int main()
    10 {
    11     int n;
    12     while (scanf("%d",&n)!=EOF)
    13     {
    14         int sum1=0;
    15         for (int i=1;i<=n;i++)
    16         {
    17             int x;
    18             scanf("%d",&x);
    19             sum1+=x;
    20             if (x) a[i]=-1;
    21             else a[i]=1;
    22         }
    23         int mmm=-1,rec=0;   //mmm=-1 因为必须要翻一次,全为 1 时
    24         for (int i=1;i<=n;i++)
    25         {
    26             if (rec>0) rec+=a[i];
    27             else rec=a[i];
    28             mmm = max(rec,mmm);
    29         }
    30         printf("%d
    ",mmm+sum1);
    31     }
    32     return 0;
    33 }
    View Code
  • 相关阅读:
    Hdu3037 Saving Beans
    bzoj3994 [SDOI2015]约数个数和
    bzoj2154 Crash的数字表格
    bzoj3529 [Sdoi2014]数表
    bzoj2820 YY的GCD
    bzoj2301 [HAOI2011]Problem b
    bzoj2440 [中山市选2011]完全平方数
    Java基础知识强化之IO流笔记20:FileOutputStream写出数据实现换行和追加写入
    Java基础知识强化之IO流笔记19:FileOutputStream的三个write方法
    Java基础知识强化之IO流笔记18:FileOutputStream写入数据
  • 原文地址:https://www.cnblogs.com/haoabcd2010/p/7190774.html
Copyright © 2011-2022 走看看