zoukankan      html  css  js  c++  java
  • LibreOJ β Round #4

    A游戏

    内存限制:256 MiB时间限制:1000 ms标准输入输出
    题目类型:传统评测方式:文本比较
    上传者: qmqmqm

    题目描述

    qmqmqm和sublinekelzrip要进行一场游戏,其规则是这样的:

    首先有一个序列,其中每个位置是一个整数或是X。双方轮流将X的位置填入此前不在序列中的实数,直到序列中充满数字为止。qmqmqm优先填数。若最后这个序列的逆序对数目为奇数,则qmqmqm获得胜利,否则sublinekelzrip获得胜利。qmqmqm想知道若双方均采取最优决策,在一个给定的序列下他能否获胜。设最终序列中第iii个数为aia_iai​​,则逆序对为满足i<ji<ji<j且ai>aja_i>a_jai​​>aj​​的有序对(i,j)(i,j)(i,j)的数目

    注意虽然起始序列中只有整数,但可以填入非整数的实数。

    输入格式

    第一行包含一个正整数nnn,表示序列的长度。

    之后nnn行,每行或为一个整数aia_iai​​,或为一个字符X。

    输出格式

    输出仅包含一个字符,若qmqmqm获胜,输出W,否则输出L

    样例

    样例输入1

    2
    X
    X

    样例输出1

    L

    样例解释1

    若qmqmqm在第一个位置填入aaa,则sublinekelzrip只要在后一个位置填入a+1a+1a+1。

    若qmqmqm在第二个位置填入bbb,则sublinekelzrip只要在后一个位置填入b−1b-1b1。

    样例输入2

    2
    X
    57

    样例输出2

    W

    样例解释2

    qmqmqm在第一个位置填入717171即可获胜。

    数据范围与提示

    1≤n≤1000001 leq n leq 1000001n100000

    −109≤ai≤109-10^9 leq a_i leq 10^9109​​ai​​109​​

    i≠ji eq jij,则ai≠aja_i eq a_jai​​aj​​

    这个题还是比较复杂的,得先分析X的作用,最后发现是X的个数为奇数偶数的问题。

    然后在分析逆序对,注意有种情况是1 X

    这个题我本来的树状数组模板不好,打算再更新下

    #include <stdio.h>
    #include <bits/stdc++.h>
    using namespace std;
    const int N=100005;
    int w[N];
    int la(int l,int r)
    {
        if(r-l==1)
            return 0;
        int m=l+r>>1,s=la(l,m)+la(m,r);
        for(int i=l; i<m; ++i)
            s+=lower_bound(w+m,w+r,w[i])-w-m;
        sort(w+l,w+r);
        return s&1;
    }
    int main()
    {
        int n;
        scanf("%d",&n);
        int t=0;
        for(int i=0; i<n; i++)
        {
            getchar();
            char c[15];
            scanf("%s",c);
            if(c[0]=='X')t++;
            else
            {
                sscanf(c,"%d",&w[i]);
            }
        }
        if(t)
        {
            if(n==1&&t==1||t%2==0)
                cout<<"L"<<endl;
            else cout<<"W"<<endl;
        }
        else
        {
            if(la(0,n))
                cout<<"W"<<endl;
            else cout<<"L"<<endl;
        }
        return 0;
    }
  • 相关阅读:
    C#.NET Winform 快速开发平台
    .Net C/S系统开发框架(楚楚原创)
    C# Winform 开发框架
    php导出excel表格超链接
    tp3使用PHPExcel 导出excel
    tp文件上传、表格转数组
    BUG修复记录
    tp3切库问题记录
    个人总结
    初识爬虫(番外篇-python)
  • 原文地址:https://www.cnblogs.com/BobHuang/p/7472199.html
Copyright © 2011-2022 走看看