三进制状压动态规划【涂抹果酱】 题解

本文详细解析了Tyvj两周年庆典蛋糕涂果酱的问题,探讨了如何在相邻区域不能使用同种果酱的限制下,求解满足条件的涂果酱方案总数。通过动态规划和三进制状态压缩的方法,得出解决方案,并提供代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 前言:好不容易搞懂了这道题,感觉网上能找到的题解在我有疑问的地方都讲的不是很细,所以我来写一篇吧。

题目描述

Tyvj 两周年庆典要到了,Sam 想为 Tyvj 做一个大蛋糕。蛋糕俯视图是一个 N × M N\times M N×M 的矩形,它被划分成 N × M N\times M N×M 个边长为 1 × 1 1 \times 1 1×1 的小正方形区域(可以把蛋糕当成 N N N M M M 列的矩阵)。蛋糕很快做好了,但光秃秃的蛋糕肯定不好看!所以,Sam 要在蛋糕的上表面涂抹果酱。果酱有三种,分别是红果酱、绿果酱、蓝果酱,三种果酱的编号分别为 1 , 2 , 3 1,2,3 1,2,3 。为了保证蛋糕的视觉效果,Admin 下达了死命令:相邻的区域严禁使用同种果酱。但 Sam 在接到这条命令之前,已经涂好了蛋糕第 K K K 行的果酱,且无法修改。

现在 Sam 想知道:能令 Admin 满意的涂果酱方案有多少种。请输出方案数 m o d mod mod 1 0 6 10^{6} 106 。若不存在满足条件的方案,请输出 0 0 0

输入格式

输入共三行。

第一行: N , M N,M N,M

第二行: K K K

第三行: M M M 个整数,表示第 K K

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值