首页 > 其他分享 >[lnsyoj2208/luoguP10737]Reverse Game

[lnsyoj2208/luoguP10737]Reverse Game

时间:2024-07-25 12:09:54浏览次数:16  
标签:10 Reverse int 必败 Game luoguP10737 对数 include 逆序

来源

原题链接
2024.7.25 校内测验 T1

题意

给定01串,每次可将其中的 101001101010 翻转,无法操作的一方输,求哪方必胜

赛时 DFS 0pts

sol

可以发现,10 减少 \(1\) 个逆序对,其余都可减少 \(2\) 个逆序对;同时,当串内存在逆序对时,一定可以翻转(因为一定存在 10),因此,我们可以计算串内的逆序对数,并规定无逆序对时为必败状态。所有的必败状态即为无法通过逆序对数量 \(-1\) 或 \(-2\) 到达必败状态的情况,即逆序对数可整除 \(3\)。
由于只有 10,逆序对数可以通过两次枚举法求出,详见代码。

代码

#include <iostream>
#include <algorithm>
#include <cstring>

using namespace std;

const int N = 1000005;

int n;
char s[N];


int main(){
    scanf("%s", s + 1);
    n = strlen(s + 1);
    int cnt1 = 0;
    for (int i = 1; i <= n; i ++ ) cnt1 += (s[i] == '1');
    long long cnt = 0;
    for (int i = 1; i <= n; i ++ )
        if (s[i] == '1') cnt1 -- , cnt += n - i - cnt1;
    if (cnt % 3) puts("Alice");
    else puts("Bob");


    return 0;
}

标签:10,Reverse,int,必败,Game,luoguP10737,对数,include,逆序
From: https://www.cnblogs.com/XiaoJuRuoUP/p/-/lnsyoj2208_luoguP10737

相关文章

  • C. Card Game
    原题链接题解性质:取奇数位置相加,取偶数位置不相加经过若干次实验,可以得到删除第\(i\)个数,对\([1,i-1]\)个数的奇偶性不造成影响因此,我们试着从最末尾开始删(无后效性)如果末尾是负数,不用管如果末尾是正数,如果是奇数位置,直接相加如果末尾是正数,如果是偶数位置,如果......
  • 2024牛客多校3J Rigged Games
    欢迎来我的博客看这篇题解!Problem在两人竞技比赛中,对于任何正整数\(a\),我们定义\(BO(2a-1)\)如下:两名玩家继续竞争,直到其中一人获胜\(a\)次,那么他赢得整个比赛。\(BO(2a-1)\)最多包含\(2a-1\)小局游戏,最少包含\(a\)小局游戏。现在两个人进行一场DotA2比赛,使用的......
  • 使用 pygbag 将 pygame 游戏导出到网络时出现奇怪的错误
    最近我一直在开发一个游戏,我正在使用pygbag将其转换为HTML,以便可以在网络浏览器上玩。当我构建python文件并运行它们时,游戏按预期运行。但是,当我在命令行中使用pygbag命令,然后转到localhost:8000(临时发布游戏的开发端口)时,音频可以工作,但我遇到了黑屏。我转到......
  • SubScene不是Scene,是GameObject
    有人问我如何通过Editor代码往SubScene里面加东西?说在Scene相关的类里面都没有找到合适的函数。找不到就对了,因为SubScene不是Scene,是GameObject。可以试试这样的操作:建立一个GameObject给这个GameObject添加一个叫SubScene的脚本在脚本的SceneAsset中,选择一个之前保存过的......
  • 使用Python和Pygame创建简单的音乐播放器
    在本篇博客中,我们将探讨如何使用Python编写一个简单的音乐播放器,并通过Pygame库实现音乐的播放和控制。我们将逐步介绍代码的功能和实现原理,以便读者能够了解每个部分的作用和如何在自己的项目中应用类似的技术。介绍音乐播放器是日常生活中常见的应用程序之一,它允许我们播放......
  • 《Epic Games》启动显示找不到xinput1_3.dll怎么处理,Epic游戏平台提示缺失xinput1_3.d
    在通过EpicGames平台尽情畅玩各类精彩游戏的过程中,有部分玩家或许会不幸遭遇“找不到xinput1_3.dll”或者“xinput1_3.dll缺失”这样的错误提示。由此导致游戏无法顺利启动。这类问题的根源在于系统中缺少了一个被称作“xinput1_3.dll”的关键重要动态链接库文件,直接对游戏的......
  • P3041 [USACO12JAN] Video Game G 题解 AC自动机
    本题是一道AC自动机上的dp。首先不难想到状态定义f(i,j)表示仅考虑前i 个位置,第i 个字符是j 的分数,但无法转移,所以考虑将j这一维转化为表示AC自动机上的点。再定义val(i)表示以i 结尾的所有技能种数,则转移方程为f(i,j)=max(f(i,j),f(i-1,father(j)+val(j......
  • DASCTF暑期挑战赛Reverse
    DosSnake8086汇编代码编写的一个贪吃蛇小游戏使用DosBox运行一下:直接拖进IDA查看汇编代码算了,由于这个程序只给了一个数据段,通过它找到代码加密逻辑(前面一大段的汇编代码都是为了实现贪吃蛇这个小游戏没啥用,我们直接看加密部分即可):逻辑非常简单,aDasctf的前6部分作为key,......
  • C. Game on Permutation
    原题链接code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;voidsolve(){intn;cin>>n;vector<int>p(n+4);for(inti=1;i<=n;i++)cin>>p[i];set<int>lose,win;//lose表示先移动必输的点f......
  • C. Salyg1n and the MEX Game
    原题链接题解在bob操作之后,alice可以选一个与bob一样的数补充,因此,最后的s为初始s加初始alice添加的元素,所以alice第一次要添加mex初始scode#include<bits/stdc++.h>#definelllonglongusingnamespacestd;inta[100005];voidsolve(){intn;cin>>n;......