在一个2*N的格子上,Alice和Bob又开始了新游戏之旅. 这些格子中的一些已经被涂过色,Alice和Bob轮流在这些格子里进行涂色操作,使用两种涂色工具,第一种可以涂色任意一个格子,第二种可以涂色任意一个2*2的格子.每一轮游戏里,他们可以选择一种工具来涂色尚未被染色的格子.需要注意,涂色2*2的格子时,4个格子都应当未被涂色.最后一步涂满所有格子的玩家获胜. 一如既往,Alice先手,最优策略,谁是赢家? 在一个2*N的格子上染色 每次可以染1*1的格子 或者2*2的格子 最后涂满所有格子…
[问题描述]小A 和小B 在做游戏.他们找到了一个n 行m 列呈网格状的画板.小A 拿出了p 支不同颜色的画笔,开始在上面涂色.看到小A 涂好的画板,小B 觉得颜色太单调了,于是把画板擦干净,希望涂上使它看起来不单调的颜色(当然,每个格子里只能涂一种颜色).小B 想知道一共有多少种不单调的涂色方案.我们定义一个涂色方案是不单调的,当且仅当任意相邻两列都出现了至少q 种颜色. 题解: 都能看出来这是道矩乘题.但是比较变态. 先不考虑矩阵,状态是f[ i ][ j ],指前i列已经填好,第i列共有j…
题目描述 小$A$和小$B$在做游戏.他们找到了一个$n$行$m$列呈网格状的画板.小$A$拿出了$p$支不同颜色的画笔,开始在上面涂色.看到小$A$涂好的画板,小$B$觉得颜色太单调了,于是把画板擦干净,希望涂上使它看起来不单调的颜色(当然,每个格子里只能涂一种颜色).小$B$想知道一共有多少种不单调的涂色方案.我们定义一个涂色方案是不单调的,当且仅当任意相邻两列都出现了至少$q$种颜色. 输入格式 一行四个整数$n,m,p,q$,意义如题中所述. 输出格式 一行一个整数,表示不单调的涂色方案…
提议分析: 1 <= N <= 4747 很明显应该不会有规律的,打表发现真没有 按题意应该分成两种情况考虑,然后求其异或(SG函数性质) (1)找出单独的一个(一列中只有一个) (2)找出连续的两个都没有涂色的求SG值(打表) #include<stdio.h> #include<string.h> #define Max 4750 int dp[Max]; int mex[Max]; int flag[Max]; void Gsdp() { int i,j; int…
/* 非常好的题 */ #include <cstdio> #include <iostream> #include <cstdlib> #include <cstring> #include <algorithm> #include <cmath> #include <queue> using namespace std; typedef long long ll; ,mod=; int c[N][N],s[N][N],…
题目描述 分析 定义出\(dp[i][j]\)为第\(i\)列涂\(j\)种颜色的方案数 然后我们要解决几个问题 首先是求出某一列涂恰好\(i\)种颜色的方案数\(d[i]\) 如果没有限制必须涂\(i\)种,而是有的颜色可以不涂,那么方案数为\(i^n\) 为了避免少涂的情况,我们减去只涂\(1 \sim i-1\)种颜色的方案数 即\(d[i]=i^n-\sum_{j=1}^{i-1}C_i^j \times d[j]\) 初始化为\(d[1]=1\) 接下来考虑转移 \(f[i][j]=f…
题目大意 用 \(p\) 种颜色填 \(n\times m\) 的画板,要求任意相邻两列的颜色数都不少于 \(q\) ,求方案数. 数据范围 \(1\leq n\leq 100,1\leq m\leq 10^9,q\leq p\leq 100\) 思路 观摩 \(m\) 的范围,显然需要一个 \(\log m\) 的做法,于是想到了矩阵快速幂. 首先考虑原始的转移.若当前一列涂上 \(j\) 种颜色,下一列要涂 \(k\) 种颜色,则方案数如下: \[\sum \limits_{x=\max(q…
构造SG函数:sg[i]表示2*i的sg值!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include<iomanip> #include<cmath> #include<cstring> #include<vector> #define ll __int64 #define pi acos(-1.0) #define MAX 5000…
题目描述 你有 1020 个格子,它们从 0 开始编号,初始时所有格子都还未染色,现在你按如下规则对它们染色: 编号是 p1 倍数的格子(包括 0号格子,下同)染成红色. 编号是 p2 倍数的格子染成蓝色. 编号既是 p1 倍数又是 p2 倍数的格子,你可以选择染成红色或者蓝色. 其中 p1 和 p2 是给定的整数,若格子编号是 p1 或 p2 的倍数则它必须要被染色.在忽略掉所有未染色格子后,你不希望存在 k个连续的格子颜色相同,因为你认为这种染色方案是无聊的.现在给定 p1, p2, k,你…
一:题目 分别对两个骰子的六个面涂色r-红 b-蓝 g-绿,通过转动骰子,看两个骰子是不是一样的涂色方法 (一)题目详解 题目规定了正方体的六个面的序号:从1-,按照这个需要提供涂色序列 (二)案例展示 上面是提供的两个骰子,我们将第二个骰子向右转90度(一个面),可以得到第一个骰子的样式.故输出TRUE (三)样例输入 rbgggrrggbgr //一共3局,每一行是一局,前六个字母是对应第一个骰子,后六个字母对应第二个骰子 rrrbbbrrbbbr rbgrbgrrrrrg (四)样例输出…