[CF1239A] Ivan the Fool and the Probability Theory - 组合数学
Posted mollnn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[CF1239A] Ivan the Fool and the Probability Theory - 组合数学相关的知识,希望对你有一定的参考价值。
给定一个 (n imes m) 的方格图,每个格子可以被染成黑色或白色,且与其相邻的格子(上,下,左,右)中至多只有一个与其颜色相同。求方案数。
Solution
依稀记得当年在热身赛上碰到这个题,大家都说是 CF 原题,然后我跪了……
对于 ((i,j)),如果它左、左上、上的颜色确定,那么这个格子的颜色就确定了
于是我们枚举 ((1,1)) 的颜色,然后将第一行第一列的颜色确定下来,这时候行列显然相互独立
对于行,答案相当于一个 (1/2) 排列划分,对于列同理,于是答案为
[
2(F_n+F_m-1)
]
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 1e9+7;
int f[100005];
signed main() {
int n,m;
cin>>n>>m;
f[0]=f[1]=1;
for(int i=2;i<=max(n,m);i++) f[i]=(f[i-1]+f[i-2])%mod;
cout<<2*(f[n]+f[m]-1+mod)%mod;
}
以上是关于[CF1239A] Ivan the Fool and the Probability Theory - 组合数学的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces 1248 div2 C. Ivan the Fool and the Probability Theory (思维)
CF802LSend the Fool Further! (hard) 高斯消元