二次联通门 : 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. 为什么重写equals一定要重写hashCode方法?

    大家都知道,equals和hashcode是java.lang.Object类的两个重要的方法,在实际应用中常常需要重写这两个方法,但至于为什么重写这两个方法很多人都搞不明白. 下面我们看下Objec ...

  2. NetCore实例提供的依赖注入的生命周期

    Transient: 每一次GetService都会创建一个新的实例,每次从容器 (IServiceProvider)中获取的时候都是一个新的实例Scoped: 在同一个Scope内只初始化一个实例 ...

  3. 创建Core项目使用IdentityServer4

    本文主要参照https://www.bilibili.com/video/av42364337/?p=4 英文帮助文档:https://identityserver4.readthedocs.io/e ...

  4. Python学习日记(二) list操作

    l = ['a','b','c','d',1,2,[3,'e',4]] 1.list.append() 在list的结尾新增一个新的元素,没有返回值,但会修改原列表 l.append(5) print ...

  5. RabbitMQ topic 交换器

    topic交换器:"."将路由键分为几个标识符,"*"匹配一个, "#"可以匹配多个 1:路由键为*或者#的时候 *:只能匹配单个的字符串 ...

  6. Android笔记(五十) Android中的JSON数据

    JSON是什么: JSON是轻量级的文本数据交换格式 JSON独立于语言和平台 JSON具有自我描述性,更容易理解 JSON语法: 数据在名称/值对中 数据由逗号分割 大括号表示对象 中括号表示数组 ...

  7. Kubernetes-使用Helm安装istio

    添加istio库: helm repo add istio.io https://storage.googleapis.com/istio-release/releases/1.3.4/charts/ ...

  8. bash 实用技巧

    一..将文件的内容赋给一个变量: file=$(cat filelist) file=$(< file) NOTE:后者性能比前者好 二..bash 分组匹配: HOSTNAME='mysql- ...

  9. pipeline和channel的区别

    pipeline和channel的区别 在golang中,学到channel时,往往都会产生一些疑惑,和channel的区别是什么? 以下就是区别: difference channel pipeli ...

  10. 使用BERT预训练模型+微调进行文本分类

    本文记录使用BERT预训练模型,修改最顶层softmax层,微调几个epoch,进行文本分类任务. BERT源码 首先BERT源码来自谷歌官方tensorflow版:https://github.co ...