bx值
bx值
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
,从小到大排序之后为ap
1
,a
p
2
,...,a
p
n
,定义它的bx值为满足ap
i
≠a
p
i−1
+1,1<i<=n的i 的个数。
给定n个数的一个排列,你需要计算它所有连续子序列的bx值之和。
对于每组数据,第一行一个整数n,第二行n个整数,表示n个数的一个排列。
1 <= T= < 20
1 <= n <= 100000
1 <= a
<= n
3
1 2 3
4
3 1 4 2
5
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <bitset>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <cassert>
#include <ctime>
#define rep(i,m,n) for(i=m;i<=(int)n;i++)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define vi vector<int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
#define pii pair<int,int>
#define sys system("pause")
#define ls rt<<1
#define rs rt<<1|1
#define all(x) x.begin(),x.end()
const int maxn=1e5+;
const int N=5e2+;
using namespace std;
ll gcd(ll p,ll q){return q==?p:gcd(q,p%q);}
ll qmul(ll p,ll q,ll mo){ll f=;while(q){if(q&)f=(f+p)%mo;p=(p+p)%mo;q>>=;}return f;}
ll qpow(ll p,ll q,ll mo){ll f=;while(q){if(q&)f=qmul(f,p,mo)%mo;p=qmul(p,p,mo)%mo;q>>=;}return f;}
int n,m,k,t,pos[maxn];
int main()
{
int i,j;
while(~scanf("%d",&t))
{
while(t--)
{
scanf("%d",&n);
rep(i,,n)scanf("%d",&j),pos[j]=i;
ll ret=;
rep(i,,n)ret+=1LL*(n-i+)*(i-);
rep(i,,n-)ret-=1LL*min(pos[i],pos[i+])*(n-max(pos[i],pos[i+])+);
printf("%I64d\n",ret);
}
}
return ;
}
bx值的更多相关文章
- 2017华南理工华为杯H bx值(容斥问题)
		
题目描述 对于一个nnn个数的序列 a1,a2,⋯,ana_1,a_2,\cdots,a_na1,a2,⋯,an,从小到大排序之后为ap1,ap2,⋯,apna_{p_1},a_{p ...
 - 2017杭电ACM集训队单人排位赛 - 6
		
2017杭电ACM集训队单人排位赛 - 6 排名 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 59 1 X X 1 1 X X 0 1 ...
 - DOS程序员手册(十四)
		
附录A ASCII字符集 十进制 十六进制 二进制 AscII 控制 按键 X10 X16 ...
 - DOS程序员手册(十二)
		
DOS可安全使用 610页 在DOS控制台I/O操作进行轮询循环时,有规律地调用中断,以便允许终止 并驻留(TSR)程序(如适用于DOS的实用程序PRINT.COM),知道它可安全 地使用文件操作和其 ...
 - 【自制操作系统06】终于开始用 C 语言了,第一行内核代码!
		
一.整理下到目前为止的流程图 写到这,终于才把一些苦力活都干完了,也终于到了我们的内核代码部分,也终于开始第一次用 c 语言写代码了!为了这个阶段性的胜利,以及更好地进入内核部分,下图贴一张到目前为止 ...
 - YOLOv4全文阅读(全文中文翻译)
		
YOLOv4全文阅读(全文中文翻译) YOLOv4: Optimal Speed and Accuracy of Object Detection 论文链接: https://arxiv.org/pd ...
 - arm汇编进入C函数分析,C函数压栈,出栈,传参,返回值
		
环境及代码介绍 环境和源码 由于有时候要透彻的理解C里面的一些细节问题,所有有必要看看汇编,首先这一切的开始就是从汇编代码进入C的main函数过程.这里不使用编译器自动生成的这部分汇编代码,因为编译器 ...
 - wpf comboBox取值问题
		
这是获取值后台代码 private void button1_Click(object sender, RoutedEventArgs e) { combBox = ...
 - 7.5 [bx+idata] 书中错误
		
这节中的问题 7.1 有错误 题目和我自己的注释为: 用 Debug 查看内存,结果如下: 2000:1000 BE 00 06 00 00 00 ... 写出下面程序执行后,ax,bx,cx中的内容 ...
 
随机推荐
- [Codeforces 485F] Oppa Funcan Style Remastered
			
[题目链接] https://codeforces.com/contest/986/problem/F [算法] 不难发现 , 每个人都在且仅在一个简单环中 , 设这些环长的长度分别为 A1, A2 ...
 - 使用 Jenkins + GitHub + Nginx + HTTPS 搭建静态网站
			
参考https://www.imooc.com/article/20079 http://www.haoduoyu.cc/
 - scrapy 简单操作
			
1.创建一个简单的scrapy项目 scrapy startproject search(项目名称)按照提示cd searchscrapy genspider serachname search.co ...
 - Zookeeper概念学习系列之zookeeper的节点
			
znode有两种类型: 临时节点(ephemeral node) 和 持久节点(persistent node). znode的类型在创建时确定并且之后不能再修改. 短暂znode的客户端会话结束 ...
 - ansible 显示运行时间
			
#独家秘诀cd /etc/ansible mkdir callback_plugins cd callback_plugins wget https://raw.githubusercontent.c ...
 - ios数据的基本类型和流程控制
			
swift的声明变量方式和js是类似的.基本类型基本都和java的差不多,多了字符类型. let:用于声明常量: var:用于声明变量: 基本类型有:double,float,Int(数字类型):bo ...
 - Laravel 5.4.36 session 生效问题
			
在测试过程中发现 如果方法有echo 等函数输出到PHP的输出缓存中 存在 sessionID 不会放到http的请求头中 下次请求也就拿不到sessionid问题 问题的原因 代码位置:publ ...
 - 使用Hexo搭建个人博客配置全过程
			
大致过程分为: 1.搭建Node.js 环境 2. 搭建Git 环境 3.安装配置Hexo 4.GitHub 注册和配置 5. 关联Hexo 与 GitHub Pages 7.Hexo的常用操作 下面 ...
 - 六时车主 App 隐私政策
			
六时车主 App 隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义 ...
 - 剔除重复jar包,查找重复类
			
作为程序员,没有遇到过jar包冲突,不是你幸运,就是你还年轻. jar包冲突有着无穷的魔力,一提到就会有说不完的怨愤,道不清的忧伤,这都是内伤.jar 包冲突就像深藏地底的地雷,看上去平常无奇,一切是 ...