首页 > 其他 > 详细

hdu 6019

时间:2017-06-06 21:30:24      阅读:285      评论:0      收藏:0      [点我收藏+]

题意: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

原文:http://www.cnblogs.com/hhxj/p/6953476.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!