noj 2068 爱魔法的露露 [线性扫一遍]
|
Accepted
|
325MS
|
8052K
|
1450Byte
|
2014-11-13 11:20:40.0
|
爱魔法的露露
总提交 : 47 测试通过 : 3
描述
仙灵女巫露露,对于魔法的热忱可是超出常人,要是发现了什么上古遗留下的魔法,她总是想方设法地获得,然后研究分析。而最近,他又从邪恶小法师维嘉那里获得了一个“奇怪”的魔法卷轴;
这个魔法卷轴上有一大串数字,而且根据卷轴上的描述,这个魔法的威力指数来自于这一串数字中“魔法区间”的数量;
所谓“魔法区间”指的是一段连续的闭区间,且这段区间上的所有数字均不相同;
现在,露露想知道这个魔法的威力指数,你能帮帮她么?
输入
先输入一个正整数T,表示样例个数,1≤T≤10。
对于每一个样例,先输入一个正整数n,表示卷轴上的数字个数(1≤n≤106);
再输入n个整数,第i个数ai,表示卷轴上第i个数(0≤ai≤106)。
输出
对于每个样例,输出一个正整数,即威力指数。
题目保证结果在int范围内。
样例输入
1
3
1 2 3
样例输出
6
提示
读入数据请使用 scanf();
对于样例,共有{1},{2},{3},{1,2},{2,3},{1,2,3},6个魔法区间,所以威力为6。
题目来源
yuman
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
#include<iostream>
#include<set>
#define maxi(a,b) (a)>(b)?(a):(b)
#define mini(a,b) (a)<(b)?(a):(b)
#define N 1000005
#define mod 10000
#define ll long long using namespace std; int T;
int tot;
set<int> s;
int a[N];
int n;
int vis[N]; void ini()
{
int i;
tot=;
//s.clear();
scanf("%d",&n);
for(i=;i<=n;i++){
scanf("%d",&a[i]);
}
memset(vis,,sizeof(vis));
} void solve()
{
int i,j;
i=;j=;
for(j=;j<=n;j++){
// if(s.find(a[j])==s.end()){
if(vis[ a[j] ]==){
vis[ a[j] ]++;
}
else{
//j--;
break;
}
}
// tot+=j-i+1;
while(i<=n)
{
//s.erase(a[i]);
vis[ a[i] ]--;
tot+=j-i;
//printf(" i=%d j=%d tot=%d\n",i,j,tot);
i++;
for(;j<=n;j++){
// if(s.find(a[j])==s.end()){
if(vis[ a[j] ]==){
vis[ a[j] ]++;
}
else{
//j--;
break;
}
}
}
} void out()
{
printf("%d\n",tot);
} int main()
{
// freopen("data.in","r",stdin);
scanf("%d",&T);
while(T--)
// while(scanf("%I64d",&n)!=EOF)
{
ini();
solve();
out();
}
return ;
}
noj 2068 爱魔法的露露 [线性扫一遍]的更多相关文章
- Codeforces Round #291 (Div. 2) D. R2D2 and Droid Army [线段树+线性扫一遍]
传送门 D. R2D2 and Droid Army time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- 【极角排序+双指针线性扫】2017多校训练七 HDU 6127 Hard challenge
acm.hdu.edu.cn/showproblem.php?pid=6127 [题意] 给定平面直角坐标系中的n个点,这n个点每个点都有一个点权 这n个点两两可以连乘一条线段,定义每条线段的权值为线 ...
- HDU5056 BoringCount--线性扫一遍
11754936 2014-09-29 10:08:45 Accepted 5056 31MS 392K 1257 B G++ czy 好简单的思路,怎么就没想到呢..... Boring count ...
- BZOJ4548 小奇的糖果
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- 青云的机房组网方案(简单+普通+困难)(虚树+树形DP+容斥)
题目链接 1.对于简单的版本n<=500, ai<=50 直接暴力枚举两个点x,y,dfs求x与y的距离. 2.对于普通难度n<=10000,ai<=500 普通难度解法挺多 ...
- Codeforces Round #354 (Div. 2) C. Vasya and String
题目链接: http://codeforces.com/contest/676/problem/C 题解: 把连续的一段压缩成一个数,对新的数组求前缀和,用两个指针从左到右线性扫一遍. 一段值改变一部 ...
- UVA 714 Copying Books 二分
题目链接: 题目 Copying Books Time limit: 3.000 seconds 问题描述 Before the invention of book-printing, it was ...
- cojs 安科赛斯特 题解报告
QAQ 从IOI搬了一道题目过来 官方题解貌似理论上没有我的做法优,我交到BZOJ上也跑的飞快 结果自己造了个数据把自己卡成了4s多,真是忧桑的故事 不过貌似原题是交互题,并不能离线 说说我的做法吧 ...
- Google面试题
今天早上在Quora上看到的一个题目,很不错的!最直观的是枚举n^3,但稍微进步一点的观察是找出3个数,然后最大的减去最小的2倍的结果,然后就有了线性扫一遍就OK. Given three array ...
随机推荐
- 国家气象局提供的天气预报接口(完整Json接口)
国家气象局提供的天气预报接口主要有三个,分别是:http://www.weather.com.cn/data/sk/101010100.htmlhttp://www.weather.com.cn/da ...
- python简单爬虫爬取百度百科python词条网页
目标分析:目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL:/ ...
- PyCharm如何配置断点调试功能
1. 点击菜单 PyCharm -> Preferences.. 2. 在左侧菜单栏找到Project:Django - > Project Interpreter 并点击配置 Proje ...
- 利用React遍历数组,并且用数组的元素生成<li>arrItem</li>标签组
var numbers = [1,2,3,4,5,6,7,8,9]; ReactDom.render({ <ul> { numbers.map(function(item){ return ...
- 图像分割loss集合
我们只是大佬的搬运工 1.log loss 2.WBE loss 带权重的交叉熵 3.Focal loss 容易过拟合?我在VGG16上做过实验(没有BN层),发现网络在训练集上的性能直线上升,但是验 ...
- Makefile学习(一)----初步理解
一.我对makefile的理解: 经过一段时间对makefile的学习,我理解的makefile就是将程序员手动编译源文件的过程用一个脚本执行,这对于小型项目来说,程序员手动执行和用makefile来 ...
- Java面试——HashCode的作用原理和实例解析
,也就是说,我们先通过 HashCode来判断两个类是否存放某个桶里,但这个桶里可能有很多类,那么我们就需要再通过 equals 在这个桶里找到我们要的类. 请看下面这个例子 : public cla ...
- Mac VMware fusion nat 外网映射
当我们在使用VMware fusion NAT模式时,相当于形成了一个虚拟的局域网VLAN,这时虚拟机可以对外通信,但是nat对外隐藏了内网,外网访问虚拟机的时候就会遇到问题,比如ping ,ssh ...
- 【01】国内外git托管平台(总结by魔芋)
[01]国内git托管平台介绍 01, github:代码协作平台,协同开发. 代码托管平台. git:项目版本控制系统 02, 最好的托管方式: github 关闭或小众的托管方式: geakit( ...
- 图论trainning-part-1 H. Qin Shi Huang's National Road System
H. Qin Shi Huang's National Road System Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO f ...