首页 > 代码库 > hdu 6019
hdu 6019
题意:MG是一个运气爆表的男孩子,他总能从地下挖掘出埋藏着的金克拉。 地下的金克拉宝藏可以看成n个元素组成的序列,每一种金克拉拥有自己的颜色C。 MG每次可以用掉一把铲子挖走连续一段,但是他不愿意使用同一把铲子挖到同一种颜色的金克拉。 MG作为一个十分贪心的人,他希望可以用最少的铲子挖走所有的金克拉。 我们规定,某一位置的土地只能被铲子挖掘一次。
思路:貌似for一遍就可以了,用map打个标记,之前有的颜色,就++,清空。
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 map<ll ,int >a; 5 int main(){ 6 int t; 7 scanf("%d",&t); 8 while(t--){ 9 a.clear(); 10 int n; 11 scanf("%d",&n); 12 ll x,sum=0; 13 for(int i=1;i<=n;i++){ 14 scanf("%lld",&x); 15 if(a[x]==1){ 16 sum++;a.clear(); 17 } 18 a[x]++; 19 } 20 if(a.size()>0) sum++; 21 cout<<sum<<endl; 22 } 23 }
hdu 6019
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。