寒假集训第七天---综合

Posted wifepi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寒假集训第七天---综合相关的知识,希望对你有一定的参考价值。

Sequence Sorting CodeForces - 1223D

题解:把它想象成单个数字的同等操作,需要移动次数是数据种类数-最长上升子序列长度,多个同理,所以记录每个数影响区间当成单个数做就行了

代??

技术图片
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int maxn = 3e5 + 10 ;
int arr[maxn], l[maxn], r[maxn] ;
int main(int argc, char const *argv[])
{
    int t, n ;
    scanf("%d",&t) ;
    while(t --)
    {
        scanf("%d",&n) ;
        for(int i = 1 ; i <= n ; ++ i) l[i] = 0, r[i] = 0 ;
        for(int i = 1 ; i <= n ; ++ i) scanf("%d",&arr[i]) ;
        for(int i = 1 ; i <= n ; ++ i) if(l[arr[i]] == 0) l[arr[i]] = i ;
        for(int i = 1 ; i <= n ; ++ i) r[arr[i]] = i ;
        //for(int i = 1 ; i <= n ; ++ i) printf("l = %d r = %d arr[i] = %d
",l[arr[i]],r[arr[i]],arr[i]) ;
        int num = 0, MAX = 0, R = 0, tmp = 0 ;
        for(int i = 1 ; i <= n ; ++ i)
        {
            if(l[i])
            {
                if(R < l[i]) tmp ++ ;
                else tmp = 1 ;
                MAX = max(MAX, tmp) ;
                ++ num ;
                R = r[i] ;
                l[i] = 0 ;
            }
        }
        //printf("num = %d, MAX = %d
",num,MAX) ;
        printf("%d
",num - MAX) ;
    }
    return 0;
}
View Code

 

 

以上是关于寒假集训第七天---综合的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥集训(附加面试题)第七天

蓝桥集训(附加面试题)第七天

蓝桥集训(附加面试题)第七天

寒假学习记录第七天

纪中集训的第七天

2020年寒假学习进度第七天