SCUT校赛129:笔芯值(数学)
来源:互联网 发布:微控触摸屏软件 编辑:程序博客网 时间:2024/04/28 02:07
题目描述
对于一个n个数的序列 a1,a2,⋯,an,从小到大排序之后为ap1,ap2,⋯,apn,定义它的 bx 值为满足 api≠api−1+1,1<i≤n 的 i 的个数。
给定 n 个数的一个排列,你需要计算它所有连续子序列的 bx 值之和。
输入格式
输入第一行包括一个正整数 T,表示数据组数。
对于每组数据,第一行一个整数 n,第二行 n 个整数,表示 n 个数的一个排列。
1≤T≤20
1≤n≤100000
1≤ai≤n
输出格式
对每组数据输出一个整数表示答案。
样例数据
输入
231 2 343 1 4 2
输出
05
# include <bits/stdc++.h># define ll long longusing namespace std;const int maxn = 1e5;ll a[maxn+3];int c[maxn+3];int main(){ int t, n; scanf("%d",&t); while(t--) { ll ans = 0; scanf("%d",&n); for(int i=1; i<=n; ++i) { scanf("%d",&a[i]); c[a[i]] = i; ans += (ll)(n-i+1)*(i-1); } for(int i=1; i<n; ++i) { int l = c[i], r = c[i+1]; if(l > r) swap(l, r); ans -= (ll)l*(n-r+1); } printf("%lld\n",ans); } return 0;}
0 0
- SCUT校赛129:笔芯值(数学)
- Scut
- SCUT校赛130:对抗女巫的魔法碎片(思维)
- Scut快速开发(1)
- Scut快速开发(2)
- Scut快速开发(3)
- Scut学习笔记(一)
- SCUT129 笔芯值 —— DP or 容斥原理
- SCUT校赛131:小P玩游戏II(贪心 & 思维)
- 2016-scut-H. Lucky Array(分块)
- 就傲控押幌咀河轿笔芯彰挚蕾驹恿
- G.MaxArea(SCUT 2014 春季选拔第一场 补充)
- scut 1029
- SCUT “TCL”赛过后
- Scut初识之HelloWorld
- Scut和Unity3D基础对接
- SCUT引擎简单使用一
- SCUT引擎简单使用二
- iOS-申请邓白氏编码的超详细流程介绍
- 统计一篇英语文章每个单词出现的频率
- 可证伪性
- Windows Socket编程之UDP实现大文件的传输
- J
- SCUT校赛129:笔芯值(数学)
- Win10+VS2015 caffe环境搭建(极其详细)
- 随机化算法
- 人生中该放弃的八样东西
- SSM整合之applicationContext.XML配置文件详解
- 从单层感知器到深度学习以及深度学习必知的框架
- 动态规划解决01背包问题(java实现)
- Java入门学习-学会Scanner的用法。做出一个计算器加法功能。
- Codeforces Round #401 (Div. 2)C. Alyona and Spreadsheet