hdoj 6019 MG loves gold
2017-04-23 20:15
239 查看
题目链接:MG loves gold
题目大意:给你一个序列,然后要分出来很多连续的小序列,里面不能有重复的数字,问最少需要分多少序列。
题目思路:数据比较大,所以需要用到STL吧,map,vector,set什么的都可以去玩,我用的vector,每次加数据的时候判断一下有没有在数列中出现,如果出现的话,就清空vector然后cot++,具体看代码#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,a[100005],cot;
vector<ll>flag;
vector<ll>::iterator it;
int main(){
ios::sync_with_stdio(false);
int t;
cin>>t;
while(t--){
cin>>n;
flag.clear();
cot = 0;
for(int i = 0;i < n;i++)
cin>>a[i];
flag.push_back(a[0]);
for(int i = 1;i < n;i++){
it = find(flag.begin(),flag.end(),a[i]);
if(it != flag.end()) cot++,flag.clear(),flag.push_back(a[i]);
else flag.push_back(a[i]);
}
cout<<cot+1<<endl;
}
return 0;
}
题目大意:给你一个序列,然后要分出来很多连续的小序列,里面不能有重复的数字,问最少需要分多少序列。
题目思路:数据比较大,所以需要用到STL吧,map,vector,set什么的都可以去玩,我用的vector,每次加数据的时候判断一下有没有在数列中出现,如果出现的话,就清空vector然后cot++,具体看代码#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,a[100005],cot;
vector<ll>flag;
vector<ll>::iterator it;
int main(){
ios::sync_with_stdio(false);
int t;
cin>>t;
while(t--){
cin>>n;
flag.clear();
cot = 0;
for(int i = 0;i < n;i++)
cin>>a[i];
flag.push_back(a[0]);
for(int i = 1;i < n;i++){
it = find(flag.begin(),flag.end(),a[i]);
if(it != flag.end()) cot++,flag.clear(),flag.push_back(a[i]);
else flag.push_back(a[i]);
}
cout<<cot+1<<endl;
}
return 0;
}
相关文章推荐
- HDOJ6019 MG loves gold 题解
- HDU-6019 MG loves gold
- HDU 6019 MG loves gold
- HDU 6019 MG loves gold
- HDUoj -6019- MG loves gold (set
- HDU - 6019 ——MG loves gold
- hdu 6019 MG loves gold
- best corder MG loves gold
- 【BestCoder Round #93】HDU6019 MG loves gold
- ACMA - MG loves gold
- 【BestCoder Round #93】HDU6019 MG loves gold
- HDU6019 MG loves gold
- MG loves gold (map)
- 【BestCoder Round #93 1001】MG loves gold
- HDOJ(HDU) 2401 Baskets of Gold Coins(数列、)
- HDOJ 5806 NanoApe Loves Sequence Ⅱ
- BC#86.1003(HDOJ5806)NanoApe Loves Sequence Ⅱ
- 【BC#24 1002 HDOJ 5273】Dylans loves sequence
- HDU 6022---MG loves set(K-D树)
- HDOJ(HDU) 2401 Baskets of Gold Coins(数列、)