zoukankan      html  css  js  c++  java
  • Codeforces 1220C. Substring Game in the Lesson

    传送门

    首先显然的,如果 $l$ 能移动,那么 $r$ 一定可以随便移动,如果 $l$ 不动,那么 $r$ 一定不能动

    那么我们现在只要考虑 $l$ 的移动即可

    考虑找到位置 $k$ 之前的最左边的最小的字符,如果存在,先手可以直接把 $l$ 移过去,那么后手就没得走了

    如果不存在,那么先手显然没得移动

    所以直接根据每个位置左边最小的字符是否小于当前位置的字符即可判断胜负

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    #include<map>
    using namespace std;
    typedef long long ll;
    inline int read()
    {
        int x=0,f=1; char ch=getchar();
        while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); }
        while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }
        return x*f;
    }
    const int N=5e5+7;
    int n;
    char s[N],mi='z';
    int main()
    {
        scanf("%s",s+1); n=strlen(s+1);
        for(int i=1;i<=n;i++)
        {
            if(s[i]<=mi) printf("Mike
    ");
            else printf("Ann
    ");
            mi=min(mi,s[i]);
        }
        return 0;
    }
  • 相关阅读:
    从域名锁定该网站所在城市
    微信接口开发 2----接收微信接口返回的数据
    微信接口开发1--向微信发送请求--获取access_token
    MVC-前端设计
    MVC-第一个简单的程序
    MVC-基础02
    MVC-基础01
    表值函数
    视图

  • 原文地址:https://www.cnblogs.com/LLTYYC/p/11550221.html
Copyright © 2011-2022 走看看