zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    sikuli 安装
    pychar入门参考教材
    Jmeter 问题集
    appium 中文API 集
    执行Chrome自动化时--正在受到自动软件的控制的显示屏蔽
    下拉框选择
    发邮件 文字+ 附件的方法(QQ or 网易 邮箱)
    发送邮件(单独文字)的方法(网易邮箱 OR QQ邮箱)
    aapium 设置安卓机参数
    -循环点击遇到的坑(每次点击后返回,页面元素都会变化的解决方法)
  • 原文地址:https://www.cnblogs.com/ctyakwf/p/12237573.html
Copyright © 2011-2022 走看看