E - 小晴天老师系列——我有一个数列!

Time Limit: 20000/10000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)
Submit Status

Problem Description

小晴天:“我有一个数列!”

小晴天:“我还要有很多很多的数列!”

于是小晴天就把这个数列的所有连续子数列写出来。

然后小晴天把每个连续子数列中的最大的数写出来。

那么,有多少个比K大呢?

Input

多组数据,首先是一个正整数t(t<=100),表示数据的组数

对于每组数据,首先是两个整数n(1<=n<=200000),K(0<=K<=10^9).,但所有数据中的n之和不超过1000000.

接下来是n个整数a[i](1<=a[i]<=10^9)

Output

对于每组数据,输出一个整数,表示最大元素大于K的连续子序列的个数。

Sample Input

2
3 2
1 2 3
3 1
1 2 3

Sample Output

3
5

Hint

对于样例一,共有6个连续子序列{1}{2}{3}{1,2}{2,3}{1,2,3}(注意{1,3}不满足题意,因为不连续)

其中最大元素大于2的共有3个{3}{2,3}{1,2,3}

对于样例二,大于1的连续子序列共有5个,{2}{3}{1,2}{2,3}{1,2,3}

题意:

对于输入的每一个数列,计算该数列的每一个子序列中最大的元素大于所给定的数的个数.

(PS:刚开始还以为是计算的是不一样的子序列,结果后来才知道1212中前面{1,2}和后面的{1,2}算作是两个不同的子序列,不是算作同一个子序列囧囧囧.)

用DP[i]来保存的以i为结符合条件的子序列的最大数量,

所以符合条件的子序列=全部的DP[i]相加。

所以

if(Num[i]>K)

    DP[i]=i+1;

 else

    DP[i]=DP[i-1];

 #include <algorithm>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
int Num[];
int DP[];
int main()
{
int T,i,j,SUM;
int Max,N,K,MAX,k;
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&N,&Max);
for(i=,SUM=;i<N;i++)
{
DP[i]=; /*初始化DP[]*/
scanf("%d",&Num[i]);
}
for(i=;i<N;i++)
{
if(Num[i]>Max) /*符合条件的话*/
{
DP[i]=i+; /*最大数量等于他前面数的个数以及自己*/
}
else
{
DP[i]=DP[i-]; /*否则等于它前一个数的最大值*/
}
SUM+=DP[i]; /*计算总和*/
}
printf("%d\n",SUM); /*输出答案*/
}
return ;
}

E - 小晴天老师系列——我有一个数列!的更多相关文章

  1. acdream 小晴天老师系列——我有一个数列! (ST算法)

    小晴天老师系列——我有一个数列! Time Limit: 20000/10000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others)S ...

  2. acdream 小晴天老师系列——苹果大丰收(DP)

    小晴天老师系列——苹果大丰收 Problem Description 小晴天的后花园有好多好多的苹果树,某天,苹果大丰收~小晴天总共摘了M个苹果,我们假设苹果之间是不可分辨的. 为了保存苹果,小晴天买 ...

  3. acdream 小晴天老师系列——晴天的后花园 (暴力+剪枝)

    小晴天老师系列——晴天的后花园 Time Limit: 10000/5000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others) ...

  4. acdream 小晴天老师系列——竖式乘法(简单穷举)

    小晴天老师系列——竖式乘法 Time Limit: 4000/2000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)   ...

  5. G - 小晴天老师系列——可恶的墨水瓶

    G - 小晴天老师系列——可恶的墨水瓶 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Othe ...

  6. D - 小晴天老师系列——晴天的后花园

    D - 小晴天老师系列——晴天的后花园 Time Limit: 10000/5000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Oth ...

  7. F - 小晴天老师系列——苹果大丰收

    F - 小晴天老师系列——苹果大丰收 Time Limit: 2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Other ...

  8. C -小晴天老师系列——竖式乘法

    C - 小晴天老师系列——竖式乘法 Time Limit: 4000/2000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others ...

  9. [ACdream]小晴天老师系列——竖式乘

    题目链接:http://acdream.info/contest?cid=1269#problem-C Problem Description 小晴天是ACdream团队中最牛的老师之一,他最擅长数学 ...

随机推荐

  1. windows自带的线程池

    #define _CRT_SECURE_NO_WARNINGS #include "iostream" #include "windows.h" using n ...

  2. docker命令和后台参数

    Docker官方为了让用户快速了解Docker,提供了一个 交互式教程 ,旨在帮助用户掌握Docker命令行的使用方法. Docker 命令行 下面对Docker的命令清单进行简单的介绍,详细内容在后 ...

  3. Multidimensional Array And an Array of Arrays

    One is an array of arrays, and one is a 2d array. The former can be jagged, the latter is uniform. T ...

  4. 2015 Syrian Private Universities Collegiate Programming Contest 题解

    题目在这里>_< 发现这场比赛在网上没有完整的题解,甚至连题目代码都没人贴出来(大概是因为题目太水了吧...).所以宝宝就来写个题解,也就当作成长记录了233333 A. Window 题 ...

  5. bash脚本退出代码解释

    Exit Codes With Special Meanings Table E-1. Reserved Exit Codes Exit Code Number Meaning Example Com ...

  6. python文件操作_对文件进行复制拷贝_代码实现

    要求: 1,对已经存在的文件进行复制操作 2,复制后的文件在文件名后面加上[复件] 3,文件比较大如何优化处理 #-*- coding: UTF-8 -*- #这是python 2 下面写的,用的ra ...

  7. noip2015Day2T1-跳石头

    题目描述 Description 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有N ...

  8. 2016 JetBrains 开发者日遇见开发神器的创造者

    JetBrains团队首次落地中国北京!2016 JetBrains开发者日将于2016年11月26日星期六10:00-16:30在中国北京举办! 这一次,我们将与社区演讲者一起谈论现代软件开发语言. ...

  9. 《JS权威指南学习总结--8.8.3 不完全函数》

    内容要点: 本节讨论的是一种函数变换技巧,即把一次完整的函数调用拆成多次函数调用,每次传入的实参都是完整实参的一部分,每个拆分开的函数叫做不完全函数(partial function),每次函数调用叫 ...

  10. Java 集合 HashMap & HashSet 拾遗

    Java 集合 HashMap & HashSet 拾遗 @author ixenos 摘要:HashMap内部结构分析 Java HashMap采用的是冲突链表方式 从上图容易看出,如果选择 ...