思路: 可以转化为“strip”(http://tech-queries.blogspot.com/2011/07/fit-12-dominos-in-2n-strip.html)问题.参考了https://www.cnblogs.com/lyttt/p/11723194.html. 实现: #include <bits/stdc++.h> using namespace std; ; ]; int main() { a[] = ; a[] = ; ; i <= ; i++) a[i]…
A. Ivan the Fool and the Probability Theory Recently Ivan the Fool decided to become smarter and study the probability theory. He thinks that he understands the subject fairly well, and so he began to behave like he already got PhD in that area. To p…
题目传送门 题目大意: 一个$n*m$的网格图,每个格子可以染黑色.白色,问每个格子最多有一个相邻格子颜色相同的涂色方案数$n,m<=1e5$ 分析: 首先,考虑到如果有两个相邻的格子颜色相同,那么这两行/列的格子状态就确定了.比如: 在中间两个爱心格子被确定的情况下,第二列和第三列的涂色情况就已经被确定了.实际上,第一列和第四列涂的颜色也确定了.(最后这句话我们留着待会儿分析) 同理,在中间两个星星确定的时候,第二行和第三行的涂色情况也唯一确定.实际上,第一行和第四列涂的颜色也确定了. 假如说…
传送门 注意到连续两个格子如果有相同颜色那么一路过去的都可以确定 比如一开始染了这两个位置: 然后发现后面整片过去都可以确定: 对于横着的情况也是一样,然后就会发现不可能出现横着两个和竖着两个同时都有的情况,因为这样一定会冲突,就一定不合法了 (自己画一下就知道了) 那么现在只要对行列分别计算即可,直接设 $f[i][0/1][0/1]$ 表示前 $i$ 个位置,当前位置为 $0/1$ 上一个位置为 $0/1$ 时的方案数 那么转移十分显然,然后答案就是行任意放的方案 $\sum_{i=0}^{…
题意 一个n*m的网格图,每个格子可以染黑色.白色,问你每个格子最多有一个相邻颜色相同的方案数 n,m<=1e5 思路 我们先处理\(1 \times m\)的情况 设\(f[i][j]\)为前\(i\)个格子,最后一个为\(j\)的方案数 可以得到递推式\(f[i][j]=f[i-1][j\bigoplus 1]+f[i-2][j\bigoplus 1]\) 那么\(1\times m\)的答案为\(f[m][0]+f[m][1]\) 引理 这题中的合法的染色图相邻两行要么完全相同,要么完全相…
题意:给n*m的网格涂黑白两种颜色,保证每个格子上下左右的四个格子中最多只有一个格子与自己颜色相同,问有多少种涂法?结果$mod1000000007$ 思路:先只考虑一行有多少种涂法 $dp[i][0]$表示第$i$个格子与第$i-1$个格子颜色不一样,那么第$i-1$与第$i-2$个格子颜色可以不同也可以相同,所以$dp[i][0]=dp[i-1][1]+dp[i-1][0]$ $dp[i][1]$表示第$i$个格子与第$i-1$个格子颜色相同,那么第$i-1$与第$i-2$格子颜色只能不相同…
题意:给你一个NxM的图,让你求有多少符合 “一个格子最多只有一个同颜色邻居”的图? 题解:首先我们可以分析一维,很容易就可以知道这是一个斐波那契计数 因为dp[1][m]可以是dp[1][m-1]添加一个和结尾不同颜色的块,或者dp[1][m-2]加上两个和结尾不同颜色的块 为什么dp[1][m-1]不可以添加一个和结尾颜色相同的块呢?因为这样情况就和dp[1][m-2]重叠了. 接着我们再分析多维情况 假设我们有一个3x6的图 第一种情况: 第一行中有相邻同色块,例如 100101 那么很明…
题意:给你一个\(n\)x\(m\)的矩阵,需要在这些矩阵中涂色,每个格子可以涂成黑色或者白色,一个格子四周最多只能有\(2\)个和它颜色相同的,问最多有多少种涂色方案. 题解:首先我们考虑一维的情况,一个格子的方案数是\(2\),两个格子的方案数是\(4\),我们记\(f[1]=2\),\(f[2]=4\),然后我们考虑三个格子的情况,假如我们最后两个格子涂成一样的颜色,那么情况数就是\(f[1]\),若最后两个两个格子的颜色不一样,那么我们可以看成在\(f[2]\)的基础上涂第三个格子,这样…
题目连接:https://codeforces.com/contest/1248/problem/C 思路: 注意上下两排的关系,如果说上面那一排有两个方格连续,那么他相邻的两排必定和他相反,如果说当前这一排没有连续的两个方格,那么它相邻的两排必定和它相同,因此,当第一排或者第一列确定好了,他下面的也就确定好了. 因此我们只需要考虑当n==1时的规律就行了,,规律为d[i]=d[i-1]+d[i-2].从第一列往后延续也是可以的,这样就会有d[x]+d[y]对,但是会多加入两组,就是黑白相间的两…
一起啃PRML - 1.2 Probability Theory @copyright 转载请注明出处 http://www.cnblogs.com/chxer/ A key concept in the field of pattern recognition is that of uncertainty. 可以看出概率论在模式识别显然是非常重要的一大块. 读其他书的时候在概率这方面就也很纠结过. 我们也还是通过一个例子来理解一下Probability Theory里面一些重要的概念. Ima…