二次联通门 : LibreOJ #524. 「LibreOJ β Round #4」游戏

/*
LibreOJ #524. 「LibreOJ β Round #4」游戏 找找规律就会发现。。
当有X的时候,答案跟X个数的奇偶有关
否则就求一下逆序对就好了。。 由于SB的错误。。WA了3发才过
然后就签完到走人了
*/
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm> #define Max 11 int key[Max * ], rank[Max * ];
int s[Max * ]; int Main ()
{
int N, x; scanf ("%d", &N); register int i, j;
static char l[Max]; int C = , cur = ; bool f;
if (N == ) return printf ("L"), ;
for (i = ; i <= N; ++ i)
{
scanf ("%s", l); f = false, x = ;
if (l[] == 'X') ++ C;
else
{
int Len = strlen (l);
if (l[] == '-')
{
f = true;
for (j = ; j < Len; ++ j)
if (isdigit (l[j]))
x = x * + l[j] - '';
}
else
{
for (j = ; j < Len; ++ j)
if (isdigit (l[j]))
x = x * + l[j] - '';
}
key[++ cur] = f ? -x : x;
rank[cur] = key[cur];
}
}
if (C) return printf (C % ? "W" : "L"), ;
long long Answer = ; int Size;
std :: sort (key + , key + + cur);
Size = std :: unique (key + , key + + cur) - key - ;
for (i = ; i <= cur; ++ i)
{
rank[i] = std :: lower_bound (key + , key + + Size, rank[i]) - key;
int res = ;
for (j = rank[i]; j <= cur; j += j & -j) ++ s[j];
for (j = rank[i]; j; j -= j & -j) res -= s[j];
for (j = cur; j; j -= j & -j) res += s[j];
Answer += res;
}
printf (Answer % ? "W" : "L"); return ;
} int ZlycerQan = Main ();
int main (int argc, char *argv[]) {;}

LibreOJ #524. 「LibreOJ β Round #4」游戏的更多相关文章

  1. [LOJ#531]「LibreOJ β Round #5」游戏

    [LOJ#531]「LibreOJ β Round #5」游戏 试题描述 LCR 三分钟就解决了问题,她自信地输入了结果-- > -- 正在检查程序 -- > -- 检查通过,正在评估智商 ...

  2. LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力

    二次联通门 : LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 /* LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 叫做计算几 ...

  3. LibreOJ #528. 「LibreOJ β Round #4」求和

    二次联通门 : LibreOJ #528. 「LibreOJ β Round #4」求和 /* LibreOJ #528. 「LibreOJ β Round #4」求和 题目要求的是有多少对数满足他们 ...

  4. LibreOJ #527. 「LibreOJ β Round #4」框架

    二次联通门 : LibreOJ #527. 「LibreOJ β Round #4」框架 /* LibreOJ #527. 「LibreOJ β Round #4」框架 %% xxy dalao 对于 ...

  5. LibreOJ #526. 「LibreOJ β Round #4」子集

    二次联通门 : LibreOJ #526. 「LibreOJ β Round #4」子集 /* LibreOJ #526. 「LibreOJ β Round #4」子集 考虑一下,若两个数奇偶性相同 ...

  6. LibreOJ #525. 「LibreOJ β Round #4」多项式

    二次联通门 : LibreOJ #525. 「LibreOJ β Round #4」多项式 官方题解 : /* LibreOJ #525. 「LibreOJ β Round #4」多项式 由于会有多种 ...

  7. LibreOJ #6191. 「美团 CodeM 复赛」配对游戏

    二次联通门 : LibreOJ #6191. 「美团 CodeM 复赛」配对游戏 /* LibreOJ #6191. 「美团 CodeM 复赛」配对游戏 概率dp */ #include <cs ...

  8. LibreOJ #507. 「LibreOJ NOI Round #1」接竹竿

    二次联通门 : LibreOJ #507. 「LibreOJ NOI Round #1」接竹竿 /* LibreOJ #507. 「LibreOJ NOI Round #1」接竹竿 dp 记录一下前驱 ...

  9. LibreOJ #516. 「LibreOJ β Round #2」DP 一般看规律

    二次联通门 : LibreOJ #516. 「LibreOJ β Round #2」DP 一般看规律 /* LibreOJ #516. 「LibreOJ β Round #2」DP 一般看规律 set ...

随机推荐

  1. min-25筛学习笔记

    Min_25筛简介 \(\text{min_25}\)筛是一种处理一类积性函数前缀和的算法. 其中这类函数\(f(x)\)要满足\(\sum_{i=1}^{n}[i\in prime]\cdot f( ...

  2. LOJ2267 SDOI2017 龙与地下城 FFT、概率密度函数、Simpson

    传送门 概率论神仙题-- 首先一个暴力做法是设\(f_{i,j}\)表示前\(i\)个骰子摇出点数和为\(j\)的概率,不难发现DP的过程是一个多项式快速幂,FFT优化可以做到\(O(XYlog(XY ...

  3. c#中冒泡排序算法描述

    int temp = 0; int b = 0; int[] arr = { 23, 44, 66, 76, 98, 11, 3, 99, 7 };# region该段与排序无关Console.Wri ...

  4. 【洛谷 P4052】 [JSOI2007]文本生成器(AC自动机,DP)

    题目链接 AC自动机上dp第一题嗷. 如果直接求可读文本的数量,显然要容斥,不好搞. 于是考虑求不可读文本的数量,再用\(26^m\)减去其即可. 建出AC自动机,如果一个节点为单词结尾或其fail链 ...

  5. vue.js相关教程

    Vue.js——60分钟快速入门 http://www.cnblogs.com/keepfool/p/5619070.html

  6. Vscode选中变量高亮问题

    前言 vscode的默认变量选中全局高亮根本看不清楚下一个变量高亮在哪...... 如下图. 框的颜色实在是差强人意. 流程 (1)安装插件:highlight-icemode (2)配置插件:打开用 ...

  7. 【填坑】Ubuntu安装vsftpd

    1.安装vsftpdsudo apt-get install vsftpd 安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹.如果没有生成这个用户的话可以 ...

  8. 安装opencv出现的问题

    ImportError: DLL load failed***** 1,pip uninstall opencv-python 卸载2,pip install opencv-contrib-pytho ...

  9. php实现人员权限管理(用户界面)

    上一篇介绍的是管理员页面,能完成对用户的角色修改和保存,这里来说一下用户界面,用户通过登录,显示出其对应功能界面. 1.登录页面(用的ajax,也可以用php表单提交方式) <!DOCTYPE ...

  10. [堆栈]Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

    转自:https://blog.csdn.net/yangkuanqaz85988/article/details/52403726 问题1:不同线程/进程拥有着不同的栈,那系统所有的中断用的是同一个 ...