BZOJ 4131 并行博弈】的更多相关文章

bzoj 4131: 并行博弈 (parallel) Description lyp和ld在一个n*m的棋盘上玩翻转棋,游戏棋盘坐标假设为(x, y),1 ≤ x ≤ n,1 ≤ y ≤ m,这个游戏的游戏的的游戏规则如下: 每次可以操作坐标为 (x, y) 的棋子,要求棋子 (x, y) 必须是黑色,并且同时翻转所有棋子坐标 (x', y') 满足 x'≤x, y'≤y. lyp觉得这样还不够过瘾,于是乎他打算同时玩 k 个这样的游戏, 每次可以对其中某一个游戏进行操作,lyp先手,ld后手,…
发现必胜态只和(1,1)的状态有关. 无法得知必胜的方法,只知道谁会必胜. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; void work() { scanf(; ;i<=k;i++) { scanf("%d%d",&n,&m); ;j<=n;j++) ;k<…
并行博弈 bzoj-4131 题目大意:题目链接. 注释:略. 想法:我们发现无论如何操作都会使得$(1,1)$发生改变. 所以单个$ACG$的胜利条件就是$(1,1)$是否为黑色. 如果为黑色那么可以让它变成白的.接下来无论对手如何操作都可以通过翻转$(1,1)$使得进入对手回合. 那么多个$ACG$相加就是取异或和即可. Code: #include <iostream> #include <cstdio> #include <cstring> #include &…
这种两个人轮流走,不能走 走过的格子的大都是二分图博弈... #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define pii pair<int, int> #define y1 skldjfskldjg #define y2 skldfjsklejg using namespace std; + ; ; const int…
思路: 二分图博弈嘛 找到最大匹配的必须点 跑个网络流 前后DFS一遍 //By SiriusRen #include <queue> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; ,M=**,inf=0x3f3f3f3f; ],jy; ][],xx[]={,-,,},yy[]={,,,-}; struct Dinic{ int first[M],…
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=5326 题解 终于成为第8个A掉这题的人--orz tzw神仙早我6小时 本以为这东西常数巨大,没想到跑得还挺快,bzoj上不到5s就过了. 神仙题. 首先第一步转化就相当神仙: 把数组按后手的优先级从高到低定序,原题的条件等价于先手要选出一些数,使得对于每个长度为\(i\)的前缀,选出的数都不超过\(\lceil \frac{i}{2}\rceil\)个. 然后显然可以认为一开始的收益…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
[BZOJ1299]巧克力棒(博弈论,线性基) 题面 BZOJ 题解 \(Nim\)博弈的变形形式. 显然,如果我们不考虑拿巧克力棒出来的话,这就是一个裸的\(Nim\)博弈. 但是现在可以加入巧克力棒.加入巧克力棒的意义是修改当前的异或和. 如果不能够改变当前先后手赢的状态的话,那么必定不能够拿出一个巧克力棒的集合满足异或和为\(0\). 初始情况下是先手必败的情况,因为先后不改变当前的必胜/必败情况,所以先手必须要拿出一个异或和为\(0\)的集合,并且使得剩下的部分不能够存在异或和为\(0\…
题目链接:BZOJ - 1115 题目分析 首先看一下阶梯博弈: 阶梯博弈是指:初始有 n 堆石子,每次可以从任意的第 i 堆拿若干石子放到第 i - 1 堆.最终不能操作的人失败. 解法:将奇数位的石子堆做最基本的 NIM 就可以了. WHY:对奇数位做 NIM 的必胜者总是可以胜利,因为如果从奇数位拿石子到偶数位,就相当于把这些石子拿走了,就是 NIM :如果必败者从偶数位将石子拿到奇数位,必胜者总是可以将这些石子再向前移一个位置,就又放到了偶数位,这样一直移动的话,最终会是必胜者将这些石子…
题面传送门 介于自己以前既没有写过 Staircase-Nim 的题解,也没写过时间轴分块的题解,所以现在就来写一篇吧(fog 首先考虑最极端的情况,如果图是一条链,并且链的一个端点是 \(1\),那么问题可以转化为序列上的问题,即可视作有一个 \(n\) 级的阶梯,第 \(i\) 级台阶上有 \(a_i\) 个石子,每次可以选择一堆并将其中 \(x(x\le L)\) 个石子向下移动一级,不能移动最底下一级的石子,不能操作者输. 这是一个经典的 staircase 博弈的模型,对于这样的模型我…