LeetCode 1411. 给 N x 3 网格图涂色的方案数(数学)
1. 题目
你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同)。
给你网格图的行数 n 。
请你返回给 grid 涂色的方案数。由于答案可能会非常大,请你返回答案对 10^9 + 7 取余的结果。
示例 1:
输入:n = 1
输出:12
解释:总共有 12 种可行的方法:示例 2:
输入:n = 2
输出:54示例 3:
输入:n = 3
输出:246示例 4:
输入:n = 7
输出:106494示例 5:
输入:n = 5000
输出:30228214提示:
n == grid.length
grid[i].length == 3
1 <= n <= 5000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/number-of-ways-to-paint-n-x-3-grid
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 颜色分为2种类型 ABA型,ABC型
- 1个ABA 可以产生 3个ABA + 2个ABC
- 1个ABC 可以产生 2个ABA + 2个ABC
class Solution {public:int numOfWays(int n) {long aba = 6, abc = 6, aba_t, abc_t, mod = 1e9+7;for(int i = 1; i < n; ++i){aba_t = (3*aba+2*abc)%mod;abc_t = (2*(aba+abc))%mod;aba = aba_t;abc = abc_t;}return (aba+abc)%mod;}
};
4 ms 5.8 MB
LeetCode 1411. 给 N x 3 网格图涂色的方案数(数学)相关推荐
- leetcode 5383. 给 N x 3 网格图涂色的方案数
leetcode 5383. 给 N x 3 网格图涂色的方案数 来源:力扣(LeetCode) 你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保 ...
- LeetCoed 5383. 给 N x 3 网格图涂色的方案数
5383. 给 N x 3 网格图涂色的方案数 分类:ABA, ABC各6种,每个ABA可与2ABC+3ABA结合, 每个ABC可与2ABC+2ABA结合 class Solution:def num ...
- 【数据结构与算法】之给Nx3网格图涂色的方案数的求解算法
一.题目要求 你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同). 给你网格图的行数 ...
- leetcode 给N x 3网络图涂色的方案数
1.题目详情 leetcode 给N x 3网络图涂色的方案数 你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就 ...
- LeetCode 2132. 用邮票贴满网格图(DP/二维差分)
文章目录 1. 题目 2. 解题 1. 题目 给你一个 m x n 的二进制矩阵 grid ,每个格子要么为 0 (空)要么为 1 (被占据). 给你邮票的尺寸为 stampHeight x stam ...
- 【NOIP模拟】T2 管道(状压dp求图的dfs序方案数)
f[i][j]: i表示整个图走没走过的状态 j表示当前到了第j个点 存的值就是在这种情形下 可以走到的地方的状态 dp[i][j]:i表示整个图走没走过的状态 j表示当前在j点 访问剩余能去到的点的 ...
- 力扣LeetCode刷题心得之Python 买钢笔和铅笔的方案数
文章目录 6061. 买钢笔和铅笔的方案数 解题思路: 第一步,光买钢笔有几种方案 第二步,买钢笔后,剩下的钱能购买多少铅笔 第三步,在买钢笔的几种方案下,剩下的钱购买铅笔有几种方案 第四步,将所有方 ...
- LeetCode 276. 栅栏涂色(DP)
文章目录 1. 题目 2. 解题 2.1 DP超时解 2.2 DP解 1. 题目 有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,每个栅栏柱可以用其中一种颜色进行上色. 你需要给所有栅栏柱上色,并 ...
- Leetcode 276.栅栏涂色
Time: 20190904 Type: Easy 考察:动态规划 题目描述 有 k 种颜色的涂料和一个包含 n 个栅栏柱的栅栏,每个栅栏柱可以用其中一种颜色进行上色. 你需要给所有栅栏柱上色,并且保 ...
最新文章
- python3 ssl.CertificateError: hostname manifest.googlevideo.com doesn t match either
- 从JVM的常见异常来看Tomcat中内存的设置
- 《Microsoft Sql server 2008 Internal》读书笔记--第八章The Query Optimizer(1)
- 短序列组装Sequence Assembly(转载)
- matlab径向分布函数作图_常见的概率分布(matlab作图)
- 网易2016年研发project师编程题(2)
- nat 网卡间数据包转发_nat端口转发示例
- Java多线程(1)--基本概念:程序、进程、线程
- 信息学奥赛C++语言:数一数
- linux的网络管理,Linux下的网络管理工具—OpenNMS
- Java 数组 定义一个数组,获取数组中的最大值和最小值,奇数个数和偶数个数...
- Matlab7.0安装教程
- python飞机大战项目概述需求_飞机大战需求分析报告.doc
- WebLogic安装教程
- cpu单核性能测试软件,CPU常用跑分软件 你知道那些?
- 计算机数学基础知识点归纳,计算机数学基础--详细介绍
- 堆、栈、队列的区别和联系
- c语言检测邮箱地址,C语言实现电子邮件地址验证程序
- 低代码时代的团队分工有哪些?
- spring 定时任务的 执行时间设置规则