Codeforces Round #585 (Div. 2) B. The Number of Products(DP)
链接:
https://codeforces.com/contest/1215/problem/B
题意:
You are given a sequence a1,a2,…,an consisting of n non-zero integers (i.e. ai≠0).
You have to calculate two following values:
the number of pairs of indices (l,r) (l≤r) such that al⋅al+1…ar−1⋅ar is negative;
the number of pairs of indices (l,r) (l≤r) such that al⋅al+1…ar−1⋅ar is positive;
思路:
DP[i][0]为i位置往前连续的负数, DP[i][1] 为偶数.
最后累计一下.
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MAXN = 2e5+10;
int a[MAXN];
LL Dp[MAXN][2];
int n;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin >> n;
    for (int i = 1;i <= n;i++)
        cin >> a[i];
    if (a[1] > 0)
        Dp[1][1] = 1;
    else
        Dp[1][0] = 1;
    for (int i = 2;i <= n;i++)
    {
        if (a[i] > 0)
        {
            Dp[i][1]++;
            Dp[i][0] += Dp[i-1][0];
            Dp[i][1] += Dp[i-1][1];
        }
        else
        {
            Dp[i][0]++;
            Dp[i][0] += Dp[i-1][1];
            Dp[i][1] += Dp[i-1][0];
        }
    }
    LL sum1 = 0, sum2 = 0;
    for (int i = 1;i <= n;i++)
        sum1 += Dp[i][0], sum2 += Dp[i][1];
    cout << sum1 << ' ' << sum2 << endl;
    return 0;
}
												
											Codeforces Round #585 (Div. 2) B. The Number of Products(DP)的更多相关文章
- Codeforces Round #585 (Div. 2)   E. Marbles  (状压DP)
		
题目:https://codeforc.es/contest/1215/problem/E 题意:给你一个序列,你可以交换相邻的两个数,要达到一个要求,所有相同的数都相邻,问你交换次数最少是多少 思路 ...
 - Codeforces Round #585 (Div. 2) E. Marbles (状压DP),BZOJ大理石(同一道题)题解
		
题意 林老师是一位大理石收藏家,他在家里收藏了n块各种颜色的大理石,第i块大理石的颜色为ai.但是林老师觉得这些石头在家里随意摆放太过凌乱,他希望把所有颜色相同的石头放在一起.换句话说,林老师需要对现 ...
 - Codeforces Round #267 (Div. 2) C. George and Job(DP)补题
		
Codeforces Round #267 (Div. 2) C. George and Job题目链接请点击~ The new ITone 6 has been released recently ...
 - B. The Number of Products(Codeforces Round #585 (Div. 2))
		
本题地址: https://codeforces.com/contest/1215/problem/B 本场比赛A题题解:https://www.cnblogs.com/liyexin/p/11535 ...
 - Codeforces Round #585 (Div. 2)
		
https://www.cnblogs.com/31415926535x/p/11553164.html 感觉很硬核啊这场,,越往后越做不动,,,emmmm,,,(这场是奔着最后一题 2sat 来的, ...
 - Codeforces Round #585 (Div. 2) [补题]
		
前言 2019.9.16 昨天下午就看了看D题,没有写对,因为要补作业,快点下机了,这周争取把题补完. 2019.9.17 这篇文章或者其他文章难免有错别字不被察觉,请读者还是要根据意思来读,不要纠结 ...
 - Codeforces Round #585 (Div. 2) CF1215A~C
		
CF1215A. Yellow Cards简单的模拟,给定了黄票张数,判断最少和最多有多少人被罚下场. #include <bits/stdc++.h> using namespace s ...
 - Codeforces Round #427 (Div. 2) B. The number on the board
		
引子: A题过于简单导致不敢提交,拖拖拉拉10多分钟还是决定交,太冲动交错了CE一发,我就知道又要错过一次涨分的机会.... B题还是过了,根据题意目测数组大小开1e5,居然蒙对,感觉用vector更 ...
 - Codeforces Round #585 (Div. 2) D. Ticket Game
		
链接: https://codeforces.com/contest/1215/problem/D 题意: Monocarp and Bicarp live in Berland, where eve ...
 
随机推荐
- Acquire and Release Fences
			
转载自: http://preshing.com/20130922/acquire-and-release-fences/ Acquire and release fences, in my op ...
 - MySQL提供的几种检索行数据的优化方式
			
ICP(Index Condition Pushdown): 在MySQL5.6之前,存储引擎会通过遍历索引定位基表中 的行,然后返回给Server层,再去为这些数据进行WHERE后的条件过滤.MyS ...
 - STL标准模板库之vector
			
目录 vector容器 1)什么是vector 2)如何定义 3)常用的Vector函数 1.容量函数 2.增加函数 3.删除函数 4.迭代器 5.访问函数 6.其他函数及操作 7.算法 STL提供了 ...
 - 一个农民工自学java找到工作的励志故事
			
<!-----------------------------------------------------------------------------摘自网络-------------- ...
 - 解决GitHub下载速度缓慢的问题
			
随着微软大大宣布GitHub针对个人用户的仓库免费,相信每位开发者都感受到了"真香". 然而因为一些众所周知的原因,国内访问GitHub总会遇到下载速度缓慢.链接意外终止的情况. ...
 - c# 实体类转XML
			
/// <summary> /// 将实体类转换成XML /// </summary> /// <typeparam name="T">< ...
 - winform c# 请求网站,返回Json字符串
			
private void callApibjhb() { //输出执行的开始时间 Console.WriteLine(string.Format("Bind {0}", DateT ...
 - restTemplate源码解析(三)创建ClientHttpRequest请求对象
			
所有文章 https://www.cnblogs.com/lay2017/p/11740855.html 正文 上一篇文章中,我们大体看了一下restTemplate的核心逻辑.再回顾一下核心代码 p ...
 - Servlet实现图片文件上传
			
1.首先要导入以下两个jar包: commons-fileupload-1.2.1.jarcommons-io-1.4.jar 2.jsp文件:index.jsp <%@ page langua ...
 - 提高前端开发效率的N种方法
			
一.使用固定的html模板和css公共样式 事先把模板建好,每次需要用的时候直接拿来就行,不再需要为浏览器兼容问题考虑太多时间 这里我整理了一套,希望对大家有帮助:http://www.cnblogs ...