• [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;
    }
    
    
  • 相关阅读:
    140704
    140703
    140702
    堆排序
    并查集
    140701
    这年暑假集训-140630
    vim for python
    hihocode 第九十二周 数论一·Miller-Rabin质数测试
    hdu 3157 Crazy Circuits 有源汇和下界的最小费用流
  • 原文地址:https://www.cnblogs.com/mollnn/p/12540303.html
Copyright © 2020-2023  润新知