zoukankan      html  css  js  c++  java
  • hdu5821

    题意:


    有N个盒子,每个盒子最多装一个球. 球的颜色不一定相同.
    现在要进行m次区间操作:
    每次操作 [l, r] 后可以随意将区间内的球重新分配回去.
    问经过上述操作后是否有可能达到给定的状态.

    题解:


    贪心.
    为每个球标记它在最终结果中的序号. 对于颜色相同的球:左边的尽量分配小的序号.
    对于m次区间操作,就将区间[l,r]中的球按最终序号排序.
    每次排序都相当于让区间中的球向它们的最终位置更近一步.
    最终再比较是否每个球都到位即可.

    #include <cstdio>
    #include <cstring>
    #include <vector>
    #include <algorithm>
    #include <iostream>
    #include <map>
    #include <queue>
    #include <stack>
    using namespace std;
    #define PF(x) cout << "debug: " << x << " ";
    #define EL cout << endl;
    #define PC(x) puts(x);
    typedef long long ll;
    const int maxn = 100000+10;
    const int MOD = 1e9+7;
    int n,t,m,b[maxn];
    struct st{
    int val,pos;
    }q[maxn];
    bool cmp(st x,st y){
        return x.pos<y.pos;
    }
    int main()
    {
        //freopen("in.txt","r",stdin);
        cin>>t;
        while(t--){
            scanf("%d%d",&n,&m);
            for(int i=1;i<=n;i++){
                scanf("%d",&q[i].val);
                q[i].pos=-1;
            }
            for(int i=1;i<=n;i++){
                scanf("%d",&b[i]);
                for(int j=1;j<=n;j++){
                    if(q[j].val==b[i]&&q[j].pos==-1){
                        q[j].pos=i;
                        break;
                    }
    
                }
            }
            while(m--){
                int l,r;
                scanf("%d%d",&l,&r);
                sort(q+l,q+r+1,cmp);
            }
            int fg=0;
            for(int i=1;i<=n;i++){
                if(q[i].val!=b[i]){
                    fg=1;
                    break;
                }
            }
            if(!fg)
                cout<<"Yes"<<endl;
            else
                cout<<"No"<<endl;
        }
        return 0;
    }
  • 相关阅读:
    vue首页组件切换
    vue 页面 添加背景音乐
    vue 新闻列表滚动效果
    vuex中的this.$store.commit
    echarts图例的位置及大小,环图中间字
    octotree — 树形展示 Github 项目代码
    D3 GEO应用专题(一):绘制旋转的3D地球
    vue/cli 3.0脚手架搭建vue项目
    微软锁屏壁纸
    Spring Boot构建RESTful API与单元测试
  • 原文地址:https://www.cnblogs.com/shimu/p/5762303.html
Copyright © 2011-2022 走看看