HDU 4561 连续最大积
来源:互联网 发布:打车软件行业分析 编辑:程序博客网 时间:2024/05/16 15:53
题意:中文题不解释。。。
思路:把0作为划分,分段统计下区间负数的个数即可。如果是偶数个,那么直接返回区间长度。如果是奇数个,那么去掉最左边的负数及其左边所有数,算出剩下的个数,右边同理。
代码:
#include <algorithm>#include <iostream>#include <string>#include <string.h>#include <stdio.h>#include <math.h>#include <stdlib.h>#include <vector>#include <queue>#include <stack>#include <cmath>#include <list>#include <set>#include <map>using namespace std;/*--in common define-----*/#define N 10010#define E 100010#define ll long longconst int INF =0x3fffffff;const int PRIME =999983;const int MOD =1000000007;const int MULTI =1000000007;const double EPS=1e-8;/*--end in common define-*//*--in common use--------*/#define CUBE(x) ((x)*(x)*(x))#define SQ(x) ((x)*(x))#define ALL(x) x.begin(),x.end()#define CLR(x,a) memset(x,a,sizeof(x))inline bool isodd(int x){return x&1;}inline bool isodd(ll x) {return x&1;}/*--end in common use----*/int a[N];inline int gao(int l,int r){int cnt=0,ans=0;for(int i=l;i<=r;i++)if(a[i]<0) cnt++;if(cnt%2==0) return r-l+1;for(int i=l;i<=r;i++)if(a[i]<0){ans=max(ans,r-(i+1)+1);break;}for(int i=r;i>=l;i--)if(a[i]<0){ans=max(ans,i-l);break;}return ans;}int main(){int re,n,ans,Case=1;scanf("%d",&re);while(re--){scanf("%d",&n);for(int i=0;i<n;i++) scanf("%d",&a[i]);ans=0;for(int i=0,j;i<n;i=j){while(i<n && a[i]==0) i++; j=i;while(j<n && a[j]!=0) j++;if(i<n) ans=max(ans,gao(i,j-1));}printf("Case #%d: %d\n",Case++,ans);}return 0;}
- hdu 4561 连续最大积
- HDU 4561 连续最大积
- hdu 4561 连续最大积
- Hdu 4561 连续最大积
- hdu 4561 连续最大积
- HDU 4561 连续最大积
- hdu 4561 连续最大积
- HDU 4561-连续最大积
- hdu 4561 连续最大积
- 连续最大积HDU
- HDU 连续最大积
- HDU 4561 金山居 连续最大积
- HDU 4561 - 连续最大积(DP`简单)
- HDU ACM 4561 连续最大积->DP
- 连续最大积 hdu 4567
- hdu 4561 连续最大积(水DP)
- Hdu 4561 连续最大积 (dp或暴力)
- HDU 4561连续最大积(模拟题)
- vmWare上运行VxWorks
- mysql 用户登录密码忘记处理
- 正则表达式大全
- CEdit 详述
- 各位周末结束后都累了吧,那我们一起来看看【寒冬】的面试题吧(据说阿里的哟)
- HDU 4561 连续最大积
- 折半查找-java实现
- 第7部份:添加一个撤销堆栈
- URLConnection 详解
- python csv文件写操作
- ASP.NET MVC3 自动生成控制器和视图
- java.io.FileNotFoundException: class path resource [META-INF/xfire/services.xml] cannot be opened b
- Android 开发调试提示Android 无法选择设备 unknown
- 统计1到n中1的出现个数