zoukankan      html  css  js  c++  java
  • hdoj5821【贪心-神题】

    啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,比赛的时候直接读错题了,实力带坑队友。。。。
    题意:
    有两个序列都代表筐,每个筐里只有一个球,然后序列的值代表筐里的球的颜色,问你在m次操作后,a序列的球能否变成b序列的球,每总操作虽然是收集这个区间所有的球,但是每个筐只能放一个,也就是说这只是交换位置的操作。
    思路:
    补完题,也完全想不出可以用标记下标,然后对m个区间的a数组下标排序,因为在排序的过程中,就会类似于偏移操作,而且是最优操作哦,然后判断一下就好了。哎,实在想不出来,好厉害的方法,+神题;
    挫code……

    #include<cstdio>
    #include<iostream>
    #include<math.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    #define eps 1e-8
    typedef __int64 LL;
    
    const int N=1e3+10;
    
    struct asd{
        int id;
        int v;
    }q[N];
    int temp[N];
    
    bool cmp(asd x,asd y)
    {
        return x.id<y.id;
    }
    
    int main()
    {
        int t;
        int n,m;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d%d",&n,&m);
            for(int i=0;i<n;i++)
            {
                scanf("%d",&q[i].v);
                q[i].id=-1;
            }
            for(int i=0;i<n;i++)
            {
                scanf("%d",&temp[i]);
                for(int j=0;j<n;j++)
                {
                    if(q[j].v==temp[i]&&q[j].id==-1)
                    {
                        q[j].id=i;
                        break;
                    }
                }
            }
            int s,t;
            while(m--)
            {
                scanf("%d%d",&s,&t);
                sort(q+s-1,q+t,cmp);
            }
            bool flag=true;
            for(int i=0;i<n;i++)
            {
                if(q[i].v!=temp[i])
                {
                    flag=false;
                    break;
                }
            }
            if(flag) puts("Yes");
            else puts("No");
        }
        return 0;
    }
    /*
    
    100
    4 1
    1 1 0 0
    0 0 0 2
    1 4
    4 2
    1 1 0 0
    0 0 0 2
    1 4
    2 4
    */
    
  • 相关阅读:
    js array数组检测方式
    js 获取时间戳
    接收二进制流(ArrayBuffer) ,并且显示二进制流图片
    文字小于12px时,设置line-height不居中问题
    设置文字小于12px
    Kafuka面试(整合Kafka两种模式区别)
    secondary namenode 检查点
    MapReduce总结
    Map、Reduce和Job方法总结
    Hadoop 两种环境下的checkpoint机制
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934892.html
Copyright © 2011-2022 走看看