• Codeforces Round #607 题解


    A题

    签到题

    B题

    只需要贪心的调换成只能经过一次调换的最小字符串,再与目标串比较

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    int main(){
        int t;
        cin>>t;
        while(t--){
            string s;
            string p;
            cin>>s>>p;
            string t=s;
            int fa=0;
            sort(t.begin(),t.end());
            for(int i=0;i<s.size();i++){
                if(t[i]!=s[i]){
                    for(int j=s.size()-1;j>i;j--){
                        if(s[j]==t[i]){
                            swap(s[j],s[i]);
                            fa=1;
                            break;
                        }
                    }
                }
                if(fa)
                break;
            }
            if(s<p)
            cout<<s<<endl;
            else{
                cout<<"---"<<endl;
            } 
        }
    }
    View Code

    C题

    本题如果直接暴力会超时,因此我们发现,我们无需关心在比X大的字符串的内容,因为不会被用到,那么当字符串比x大的时候,只需要通过公式计算答案即可

    注意因为我们在过程中不断取模,所以很可能导致负数,经过多年的做题经验,我发现模数是很神奇的东西,所以我们应当尽量多的地方加模数,防止差错,并且本题要注意爆int

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    const ll mod=1e9+7;
    int main(){
        int t;
        cin>>t;
        while(t--){
            string s;
            int x;
            cin>>x>>s;
            int i;
            ll ans=s.size();
            for(i=0;i<x;i++){
                if(s.size()>x){
                     ans=(ans+(ans-(i+1)+mod)%mod*(s[i]-'1'))%mod; // 因为ans在不断取模,所以可能小于0 
                }
                else{
                    if(s[i]=='2')
                    s+=s.substr(i+1);
                    else if(s[i]=='3')
                    s+=s.substr(i+1)+s.substr(i+1);
                    ans=s.size();
                }
            }
            cout<<ans%mod<<endl;
            
        }
    }
     
    View Code
  • 相关阅读:
    k8s二进制安装
    jenkins
    Deploy Apollo on Kubernetes
    Apollo配置中心搭建常见报错
    Apollo配置中心搭建过程
    使用CephRBD为Kubernetes提供StorageClass
    Ceph基础命令总结
    Ceph分布式存储系统搭建
    zabbix入门之配置邮件告警
    zabbix入门之定义触发器
  • 原文地址:https://www.cnblogs.com/ctyakwf/p/12237573.html
Copyright © 2020-2023  润新知