• UVA 11572 唯一的雪花 Unique Snowflakes


    唯一的雪花 Unique Snowflakes

    题面翻译

    【题目描述】

    企业家 Emily 有一个很酷的主意:把雪花包起来卖。她发明了一台机器,这台机器可以捕捉飘落的雪花,并把它们一片一片打包进一个包裹里。一旦这个包裹满了,它就会被封上送去发售。

    Emily 的公司的口号是“把独特打包起来”,为了实现这一诺言,一个包裹里不能有两片一样的雪花。不幸的是,这并不容易做到,因为实际上通过机器的雪花中有很多是相同的。Emily 想知道这样一个不包含两片一样的雪花的包裹最大能有多大,她可以在任何时候启动机器,但是一旦机器启动了,直到包裹被封上为止,所有通过机器的雪花都必须被打包进这个包裹里,当然,包裹可以在任何时候被封上。

    【输入格式】

    第一行是测试数据组数 T T T,对于每一组数据,第一行是通过机器的雪花总数 n n n n ≤ 10 6 n \le {10}^6 n106),下面 n n n 行每行一个在 [ 0 , 10 9 ] [0, {10}^9] [0,109] 内的整数,标记了这片雪花,当两片雪花标记相同时,这两片雪花是一样的。

    【输出格式】

    对于每一组数据,输出最大包裹的大小。

    题目描述

    PDF

    [外链图片转存中…(img-QxUsuwRd-1661736088191)]

    输入格式

    [外链图片转存中…(img-IzGet0J3-1661736088194)]

    输出格式

    [外链图片转存中…(img-eCCMn6Oq-1661736088196)]

    样例 #1

    样例输入 #1

    1
    5
    1
    2
    3
    2
    1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    样例输出 #1

    3
    
    • 1

    分析

    直接用map和滑动窗口就可以啦~

    代码

    #include
    
    using namespace std; 
    
    map <int,int> mp;
    
    int T,n;
    
    int ans;
    
    int z,x;//z代表最后的不重复的数字的位置 
    
    int main()
    {
    	cin>>T;
    	
    	while(T--)
    	{
    		mp.clear();//初始化 
    		
    		cin>>n;
    		
    		z=ans=0;
    		
    		for(int i=1;i<=n;i++)
    		{
    			cin>>x;
    			
    			if(mp[x]>z)
    			{
    				z=mp[x];//刷新 
    			}
    			
    			ans=max(ans,i-z);//取最大值 
    			
    			mp[x]=i;
    		}
    		
    		cout<<ans<<endl;//输出 
    	}
    	
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
  • 相关阅读:
    HTTP(三)HTTP常见的状态码
    视觉SLAM14讲笔记-第7讲-视觉里程计1
    阿里云企业邮箱的替代方案有哪些?
    Python数学基础-识图一、平面直角坐标系
    前端性能优化手段
    掘金夜谈-畅聊程序人生(笔记)
    中国多媒体与网络教学学报杂志社中国多媒体与网络教学学报编辑部2022年第9期目录
    基于 Socket 的网络编程
    理解SpringBoot的自动装配
    javascript数组排序
  • 原文地址:https://blog.csdn.net/m0_66603329/article/details/126578211