首页 > 其他 > 详细

B. The Number of Products(Codeforces Round #585 (Div. 2))

时间:2019-09-28 14:55:07      阅读:60      评论:0      收藏:0      [点我收藏+]

本题链接:https://codeforces.com/contest/1215/problem/B

题意:给你n长度的数组 然后让你计算乘积为 负的 和 正的 的子串的个数

简单dp推导题

 

一个 a   一个 b   维护正数和负数的字串个数

开始为正时 a++    

如果遇到负号变号     则原先可以组成正数的子串开始组成负数    所以   swap(a,b)  然后让负数的b++

最后再统计  

#include <iostream>
#include<algorithm>
#include<math.h>
#include<string.h>
using namespace std;
int main()
{
    int a=0,b=0,ansa=0,ansb=0;
    int n,x;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x;
        if(x>0)
        {
            a++;
        }
        else
        {
            swap(a,b);
            b++;
        }
        ansa+=a;
        ansb+=b;
    }
    cout<<ansa<<" "<<ansb<<endl;
    return 0;
}

 

B. The Number of Products(Codeforces Round #585 (Div. 2))

原文:https://www.cnblogs.com/AAAzhuo/p/11603049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!