POJ 3928 amp; HDU 2492 Ping pong(树阵评价倒数)

主题链接:

PKU:http://poj.org/problem?id=3928

HDU:http://acm.hdu.edu.cn/showproblem.php?pid=2492


Description

N(3<=N<=20000) ping pong players live along a west-east street(consider the street as a line segment). Each player has a unique skill rank. To improve their skill rank, they often compete with each other. If two players want to compete, they must choose a referee among other ping pong players and hold the game in the referee's house. For some reason, the contestants can't choose a referee whose skill rank is higher or lower than both of theirs. The contestants have to walk to the referee's house, and because they are lazy, they want to make their total walking distance no more than the distance between their houses. Of course all players live in different houses and the position of their houses are all different. If the referee or any of the two contestants is different, we call two games different. Now is the problem: how many different games can be held in this ping pong street?

Input

The first line of the input contains an integer T(1<=T<=20), indicating the number of test cases, followed by T lines each of which describes a test case. 
Every test case consists of N + 1 integers. The first integer is N, the number of players. Then N distinct integers a1, a2 ... aN follow, indicating the skill rank of each player, in the order of west to east. (1 <= ai <= 100000, i = 1 ... N).

Output

For each test case, output a single line contains an integer, the total number of different games. 

Sample Input

1 
3 1 2 3

Sample Output

1

Source

Beijing 2008

PS:
分别求每个数的左右两边比它大的个数和小的个数!最后再交叉相乘就可以!

代码例如以下:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn=100017;
int n;
int a[maxn], c[maxn];
int leftMax[maxn], leftMin[maxn];
int rightMax[maxn], rightMin[maxn];
typedef __int64 LL;int Lowbit(int x) //2^k
{return x&(-x);
}void update(int i, int x)//i点增量为x
{while(i <= maxn)//注意此处{c[i] += x;i += Lowbit(i);}
}
int sum(int x)//区间求和 [1,x]
{int sum=0;while(x>0){sum+=c[x];x-=Lowbit(x);}return sum;
}int main()
{int t;int n;scanf("%d",&t);while(t--){scanf("%d",&n);for(int i = 1; i <= n; i++){scanf("%d",&a[i]);}memset(c,0,sizeof(c));for(int i = 1; i <= n; i++){leftMin[i] = sum(a[i]);//计算左边小的个数leftMax[i] = i-leftMin[i]-1;//计算左边大的个数update(a[i],1);}memset(c,0,sizeof(c));//再次清零for(int i = n,j = 1; i >= 1; i--,j++){rightMin[i] = sum(a[i]);rightMax[i] = j-rightMin[i]-1;update(a[i],1);}LL ans = 0;for(int i = 1; i <= n; i++){ans+=leftMax[i]*rightMin[i] + leftMin[i]*rightMax[i];//交叉相乘取和}printf("%I64d\n",ans);}return 0;
}



版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/mengfanrong/p/4707824.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491999.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

观点 | 李飞飞最新访谈:我每天都在对AI的担忧中醒来

来源&#xff1a;AI科技评论是的&#xff0c;最近这些年&#xff0c;无人机可以说是爆发式发展。以前&#xff0c;它仅用于神秘的军事用途。如今&#xff0c;却在我们的日常生活中见怪不怪。人工智能对人类会产生什么影响&#xff0c;一直是值得讨论的话题&#xff0c;它会更好…

数字图像处理 图像变换

数字图像基础参考资料一、人眼视觉特性二、图像基本知识1.图像类别2.图像输入3.图像输出三、图像处理1.图像类型转化2.图像变换点变换代数运算几何运算参考资料 一、人眼视觉特性 韦伯率:50%概率感觉到亮度变化时的 ΔII\frac{\Delta I}{I}IΔI​为韦伯率。 韦伯-费希纳定律&a…

超乎想象!关于5G无人机的最强科普!

来源&#xff1a;鲜枣课堂/xzclasscom说到无人机&#xff0c;大家一定都非常熟悉。是的&#xff0c;最近这些年&#xff0c;无人机可以说是爆发式发展。以前&#xff0c;它仅用于神秘的军事用途。如今&#xff0c;却在我们的日常生活中见怪不怪。我们身边出现了越来越多的无人机…

linux处置服务Iptables

一&#xff1a;Iptables防火墙服务 iptables分为两个部分&#xff1a;一个部分在内核中实现&#xff0c;一个为用户接口命令iptables,用户通过该命令来改动防火墙的功能。所以&#xff0c;iptables要使用对应的功能。必需要在内核中加入对应的模块。modprobe加入模块 1&#xf…

相关与卷积、各种误差

相关和卷积相关自相关性质卷积公式物理意义性质相关 自相关 自相关函数就是信号x(t)x(t)x(t)和它的时移信号 x(tτ)x(t\tau )x(tτ) 的乘积平均值。它是时移变量 τ\tauτ 的函数。 “自相关”这种数据处理方法&#xff0c;可以发现隐藏在杂乱信号中的有用信息。这个能力是…

报表reprot

if (contextMenuStrip1.Items[i].Text.Trim() "打印"){//1.在报表上绘制数据列&#xff0c;print.列名称&#xff08;如果是直接在数据源中连接数据库去拖数据列&#xff0c;不能共用&#xff09;//2注册的dt,print 表名.调用找到时根据表名//数据区域的类型DataBan…

5G全产业链最新解读

来源&#xff1a;中创产业研究院摘要&#xff1a;自5G概念的提出&#xff0c;各国相关技术的研发以及产业布局也在如火如荼进行之中。与此同时我国5G在标准研发上正逐渐成为全球领跑者&#xff0c;有望在2019年实现5G技术的试商用&#xff0c;在2020年实现正式商用。本文将围绕…

函数参数传递、数组指针、二级指针、左值、引用

数组和指针的区别 数组内地址一定连续&#xff0c;指针则不一定连续。数组赋值要么初始化就设定&#xff0c;要么循环元素赋值。而指针随时可以赋值(改变指向)。数组的存储空间&#xff0c;不是在静态区就是在栈上。指针位置随意。sizeof&#xff08;数组名&#xff09; 元素个…

下一个汽车万亿市场打开!氢能源时代正到来

来源&#xff1a;智东西内参看点&#xff1a;中国氢能汽车产业产值有望突破万亿元大关。氢能汽车是以氢为主要能量作为移动的汽车。氢能被视为全球最具发展潜力的清洁能源之一&#xff0c;并被不少国家、车企及学者认为是“终极新能源汽车解决方案”。伴随着汽车保有量持续增长…

高斯噪声和椒盐噪声

clear all;clc;close all; imimread(1.jpg); % oim; [w, h ,z]size(im); imrgb2gray(im); oim;%原图备份 figure;seq0; seqseq1;subplot(2,2,seq);imshow(im);title(原图);posaxis;xlabel(,position,[(pos(1)pos(2))/2 pos(4)]);%高斯噪声 gaunormrnd(0,0.1,w,h); im1im2double…

去苹果浏览器默认样式

去苹果浏览器默认样式 input,textarea,button { -webkit-appearance: none; border-radius:0px; border:none;}转载于:https://www.cnblogs.com/mcdnf/p/5158248.html

李彦宏/王坚/王传福等上榜“中国工程院2019院士增选候选人”引争议,实至名归吗?...

来源&#xff1a;物联网智库导 读五一小长假前一天&#xff0c;中国工程院网站公布了2019年工程院院士增选有效候选人名单。经中国工程院主席团审定&#xff0c;最终确定的有效候选人共531位。值得注意的是&#xff0c;BAT微软比亚迪等高管均上榜。此次中国工程院531名候选人的…

矩阵转置函数——指针自增的陷阱

#include"algorithm.h"int** transpose(int**po, int &m, int &n) {int*p (int*)malloc(m*n*sizeof(int));//转置矩阵空间int**pn (int**)malloc(n*sizeof(int*));//转置矩阵数组指针//指针备份int *save po[0];int *nSave p;//布置转置矩阵// [1 2 3 4 …

号称能自动编程60年,“进化计算”究竟进化到哪一步了?

大数据文摘出品来源&#xff1a;ponderwall编译&#xff1a;stats熊、钱天培大胆想象一下&#xff0c;如果计算机可以自行编写程序&#xff0c;这会为人类带来什么样的变化&#xff1f;与其辛苦研究计算机解决问题的方法论&#xff0c;敲出精准的代码&#xff0c;不如告诉计算机…

动态规划——数塔问题

从原点&#xff08;顶层&#xff09;出发&#xff0c;只能向左或者向右&#xff0c;找到一条路径使得路径上的数字和最大: #include<stdio.h> //#include"algorithm.h" #define N 100int max(int a, int b) {return a > b ? a : b; }int main() {int a[N…

http的get与post方式下的getParameter获取中文

客户端提交某个中文参数&#xff0c;比如a中国 &#xff08;1&#xff09;如果以GET方式提交&#xff0c;在地址栏中&#xff0c;可以看到参数进行了URL ENCODE&#xff0c;形如&#xff1a;a%E4%B8%AD%E5%9B%BD。服务端接收到请求&#xff0c;使用request.getParameter("…

PS填充、仿制图章和修补工具

右下角调整色调后&#xff1a; 概览&#xff1a; 用魔棒工具反选出天空的树枝&#xff0c;然后点 选择-修改-扩展 大致扣出枝丫&#xff0c;再 编辑-填充-内容识别 将空中的树枝ps掉。通过仿制图章工具&#xff08;勾选对齐&#xff09;可以将右下角楼p掉。也可以用修补工具&…

学界 |《nature》杂志:我们有义务搞懂我们所创造出来的技术

来源: AI科技评论一个跨学科的研究小组希望创建一个名为「机器行为」的新学科&#xff0c;以了解人工智能将如何对我们的社会、文化、经济与政治造成影响。在《自然》杂志的一篇评论文章中&#xff0c;作者认为人工智能算法的研究需要扩展到计算机科学以外的领域&#xff0c;纳…

渲染上下文Rendering Context

渲染描述表&#xff0c;包含一次渲染所需的全部数据。用于提交给游戏渲染引擎的渲染器进行渲染 -------------------------------------------------------------------- 如果把渲染引擎看做一个画家&#xff0c;那么画家开始作画之前需要做一系列的准备工作&#xff0c;譬如&a…

高数复习9.13 函数与极限

双曲正切函数图像 反双曲arsh和arch的表达式 arshxln(xx21)arsh xln(x\sqrt{x^21})arshxln(xx21​)   archxln(xx2−1)arch xln(x\sqrt{x^2-1})archxln(xx2−1​) 数列的极限&#xff1a;构造|xn-a|<一个能确定的数&#xff08;表达式&#xff09; 极限存在的证明&…