• UESTC 761 LoveZx与期末考试


    被卡的一道题,其他情况都想出来了,主要是没想好A[i] == B[j]时候的处理,取最后面最大的可能不是最优解,相等的时候我暴力比较后缀的(为此还要维护一个链),这个操作是O(len) 所以T了。(也可能是写挂了,全是O(len)的数据是很难造的,看过的名单似乎暴力可行)

    实际上取后面最大的只是一种可能,用来更新答案就好了,后续地讨论只在保证前面相等进行。

    #include<bits/stdc++.h>
    using namespace std;
    
    typedef long long ll;
    
    const int LEN = 1e5+5, WEIGHT = 10;
    char A[LEN];
    char B[LEN];
    int cnt[WEIGHT];
    
    char calMax()
    {
        for(int c = WEIGHT; c--;){
            if(cnt[c]) return c + '0';
        }
        return '0'-1;
    }
    
    int solve()
    {
        scanf("%s%s",A,B);
        int l1 = strlen(A), l2 = strlen(B);
        if(l2 < l1){
            return LEN;
        }
        if(l2 > l1){
            return 0;
        }
    
        memset(cnt,0,sizeof(cnt));
        int i, j;
        for(i = 0; i < l2; i++) {
            cnt[B[i]-'0']++;
        }
    
        int cur_move = 0, ans = LEN;
        for(i = 0, j = 0; i < l1; i++){
            if(A[i] < B[j]) break;
            if(A[i] > B[j]){
                char mx = calMax();
                if(mx < A[i]) {
                    cur_move = LEN; break;
                }
                cur_move++;
                if(mx > A[i]) break;
                cnt[mx - '0']--;
            }
            else {
                if(calMax() > A[i]) ans = min(cur_move+1,ans);
                cnt[B[j]-'0']--;
                while(!cnt[B[++j]-'0']);
            }
        }
        if(i < l1) ans = min(ans, cur_move); //equal
        return ans;
    }
    
    //#define LOCAL
    int main()
    {
    #ifdef LOCAL
        freopen("in.txt","r",stdin);
    #endif
        int T; scanf("%d",&T);
        while(T--){
            int res = solve();
            if(res < LEN) printf("%d
    ", res);
            else puts("Poor LoveZx");
        }
        return 0;
    }
  • 相关阅读:
    k8s的快速使用手册
    prometheus
    k8s的存储卷
    nfs共享文件服务搭建
    k8s的基本使用
    Linux shell if [ -n ] 正确使用方法
    CURL使用方法详解
    LINUX下NFS系统的安装配置
    RedHat 6.2 Linux修改yum源免费使用CentOS源
    css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?
  • 原文地址:https://www.cnblogs.com/jerryRey/p/5003329.html
Copyright © 2020-2023  润新知