• CSU 2130~湖南多校对抗第八场 C


    2130: Permutations

            Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 79     Solved: 33    


    Description

    给定两个1~n的排列A, B。每次可以把A的最后一个数取出,插入到A的任何一个位置(最前面或者任何两个数中间)。 问最少几次可以把A转化为B。

    Input

    第一行为一个整数n。 第二行为1~n的一个排列,表示A。 第三行为1~n的一个排列,表示B。

    Output

    一个整数即最少操作次数。

    Sample Input

    5
    1 5 2 3 4
    1 2 3 4 5
    

    Sample Output

    3
    

    Hint

    30%:n <= 100
    50%:n <= 1000
    100%: n <= 200000

    Source

    Author

    lfw

    #include <cstdio>
    const int maxn=2e5+10;
    int a[maxn];
    int b[maxn];
    int c[maxn];
    int main() {
        int n;
        int flag=1;
        scanf("%d",&n);
        for(int i=1; i<=n; i++) {
            scanf("%d",&a[i]);
        }
        for(int i=1; i<=n; i++) {
            scanf("%d",&b[i]);
            c[b[i]]=i;
        }
        for(int i=1; i<=n; i++) {
            if(a[i]==b[i]) continue;
            else {
                flag=0;
            }
        }
        if(flag==1) {
            printf("0
    ");
        } else {
            for(int i=1; i<=n; i++) {
                a[i]=c[a[i]];
            }
            for(int i=2; i<=n; i++) {
                if(a[i]<a[i-1]) {
                    printf("%d
    ",n-i+1);
                    break;
                }
            }
        }
        return 0;
    }
    View Code
    每一个不曾刷题的日子 都是对生命的辜负 从弱小到强大,需要一段时间的沉淀,就是现在了 ~buerdepepeqi
  • 相关阅读:
    From使用post与使用get区别
    HTML 自动跳转代码
    mjpgstreamer译文
    DOCUMENT.GETELEMENTBYID使用
    查看Linux内核版本的命令
    CGI编程学习5 穿插HTML,CSS零星知识
    使用Javascript显示时间
    北京大学<Perl 循序渐进>
    html之marquee详解
    Apache支持ASP.NET方法浅析
  • 原文地址:https://www.cnblogs.com/buerdepepeqi/p/9134536.html
Copyright © 2020-2023  润新知