当前位置: 首页 > news >正文

祥云网站建设线上销售渠道有哪几种

祥云网站建设,线上销售渠道有哪几种,广州网站推广服务商,wordpress emarket本文涉及知识点 C动态规划 LeetCode1411. 给 N x 3 网格图涂色的方案数 提示 你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直…

本文涉及知识点

C++动态规划

LeetCode1411. 给 N x 3 网格图涂色的方案数

提示
你有一个 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

动态规划

v[i] 记录一行颜色的方案,如:{0,1,2}表示一行第一列是红色,第二列是黄色,第三列是绿色。
v的下标就是此方案的编号。M = v.size()
neiBo[i]记录所有可以和方案i相邻的行方案编号。

动态规划的状态表示

dp[i][j]记录第i行,最后一行方案为j的方案数。

动态规划的填报顺序

枚举前置状态,i = 0 to n-2, j =0 to M-1

动态规划的转移方程

j1 ∈ \in nieBo[j]
dp[i+1][j1] += dp[i][j];

动态规划的初始值

dp[0]为1,其它全为0。

动态规划的返回值

dp.back()之和

代码

template<int MOD = 1000000007>
class C1097Int
{
public:C1097Int(long long llData = 0) :m_iData(llData% MOD){}C1097Int  operator+(const C1097Int& o)const{return C1097Int(((long long)m_iData + o.m_iData) % MOD);}C1097Int& operator+=(const C1097Int& o){m_iData = ((long long)m_iData + o.m_iData) % MOD;return *this;}C1097Int& operator-=(const C1097Int& o){m_iData = (m_iData + MOD - o.m_iData) % MOD;return *this;}C1097Int  operator-(const C1097Int& o){return C1097Int((m_iData + MOD - o.m_iData) % MOD);}C1097Int  operator*(const C1097Int& o)const{return((long long)m_iData * o.m_iData) % MOD;}C1097Int& operator*=(const C1097Int& o){m_iData = ((long long)m_iData * o.m_iData) % MOD;return *this;}C1097Int  operator/(const C1097Int& o)const{return *this * o.PowNegative1();}C1097Int& operator/=(const C1097Int& o){*this /= o.PowNegative1();return *this;}bool operator==(const C1097Int& o)const{return m_iData == o.m_iData;}bool operator<(const C1097Int& o)const{return m_iData < o.m_iData;}C1097Int pow(long long n)const{C1097Int iRet = 1, iCur = *this;while (n){if (n & 1){iRet *= iCur;}iCur *= iCur;n >>= 1;}return iRet;}C1097Int PowNegative1()const{return pow(MOD - 2);}int ToInt()const{return m_iData;}
private:int m_iData = 0;;
};class Solution {public:int numOfWays(int n) {vector<vector<int>> v;vector<int> tmp(3);for(tmp[0]=0;tmp[0] < 3 ; tmp[0]++)for (tmp[1]=0; tmp[1] < 3; tmp[1]++)for (tmp[2] = 0; tmp[2] < 3; tmp[2]++) {if ((tmp[0] == tmp[1]) || (tmp[1] == tmp[2]))continue;v.emplace_back(tmp);}vector<vector<int>> neiBo(v.size());for(int i = 0 ; i < v.size();i++)for (int j = 0; j < v.size(); j++) {if (v[i][0] == v[j][0])continue;if (v[i][1] == v[j][1])continue;if (v[i][2] == v[j][2])continue;neiBo[i].emplace_back(j);}vector<C1097Int<>> pre(v.size(), 1);for (int i = 1; i < n; i++) {vector<C1097Int<>> dp(v.size());for (int j = 0; j < v.size(); j++) {for (int j1 : neiBo[j]) {dp[j1] += pre[j];}}pre.swap(dp);}auto ans = accumulate(pre.begin(), pre.end(), C1097Int<>());return ans.ToInt();}};

单元测试

	TEST_METHOD(TestMethod11){	auto res = Solution().numOfWays(1);AssertEx(12, res);}TEST_METHOD(TestMethod12){auto res = Solution().numOfWays(2);AssertEx(54, res);}TEST_METHOD(TestMethod13){auto res = Solution().numOfWays(3);AssertEx(246, res);}TEST_METHOD(TestMethod14){auto res = Solution().numOfWays(7);AssertEx(106494, res);}TEST_METHOD(TestMethod15){auto res = Solution().numOfWays(5000);AssertEx(30228214, res);}

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。


文章转载自:
http://unsurpassed.kjrp.cn
http://decoration.kjrp.cn
http://sycamine.kjrp.cn
http://xeromorphic.kjrp.cn
http://orrisroot.kjrp.cn
http://aino.kjrp.cn
http://inauthenticity.kjrp.cn
http://decentralisation.kjrp.cn
http://compulsionist.kjrp.cn
http://opossum.kjrp.cn
http://accompanyist.kjrp.cn
http://marten.kjrp.cn
http://eyewall.kjrp.cn
http://pep.kjrp.cn
http://emetatrophia.kjrp.cn
http://gemmiform.kjrp.cn
http://diversified.kjrp.cn
http://assai.kjrp.cn
http://humped.kjrp.cn
http://coldhearted.kjrp.cn
http://faith.kjrp.cn
http://cent.kjrp.cn
http://barspoon.kjrp.cn
http://proximity.kjrp.cn
http://overgreat.kjrp.cn
http://emetine.kjrp.cn
http://truceless.kjrp.cn
http://characterless.kjrp.cn
http://bobsleigh.kjrp.cn
http://gloriole.kjrp.cn
http://sclerodermous.kjrp.cn
http://apec.kjrp.cn
http://rantipole.kjrp.cn
http://rutter.kjrp.cn
http://contribute.kjrp.cn
http://beingless.kjrp.cn
http://valetta.kjrp.cn
http://regnum.kjrp.cn
http://retrospective.kjrp.cn
http://ultrasonics.kjrp.cn
http://achene.kjrp.cn
http://attitudinal.kjrp.cn
http://mooey.kjrp.cn
http://enneastylos.kjrp.cn
http://discontentedness.kjrp.cn
http://lacw.kjrp.cn
http://welsbach.kjrp.cn
http://peen.kjrp.cn
http://calculous.kjrp.cn
http://disallow.kjrp.cn
http://lockless.kjrp.cn
http://jean.kjrp.cn
http://scrutiny.kjrp.cn
http://demiseason.kjrp.cn
http://maharanee.kjrp.cn
http://evaluator.kjrp.cn
http://epithetic.kjrp.cn
http://chapbook.kjrp.cn
http://deneutralize.kjrp.cn
http://cottonwood.kjrp.cn
http://machination.kjrp.cn
http://sensualism.kjrp.cn
http://cantaloupe.kjrp.cn
http://sulfuretted.kjrp.cn
http://marcusian.kjrp.cn
http://pulldown.kjrp.cn
http://fatherlike.kjrp.cn
http://letitia.kjrp.cn
http://log.kjrp.cn
http://otitis.kjrp.cn
http://upload.kjrp.cn
http://intercut.kjrp.cn
http://prophetess.kjrp.cn
http://transitively.kjrp.cn
http://tablespoon.kjrp.cn
http://seismal.kjrp.cn
http://communication.kjrp.cn
http://reestablish.kjrp.cn
http://syndicate.kjrp.cn
http://taps.kjrp.cn
http://nervy.kjrp.cn
http://copal.kjrp.cn
http://nosed.kjrp.cn
http://damson.kjrp.cn
http://spiroid.kjrp.cn
http://earned.kjrp.cn
http://adamsite.kjrp.cn
http://nobeing.kjrp.cn
http://ferricyanide.kjrp.cn
http://katana.kjrp.cn
http://whoever.kjrp.cn
http://attorney.kjrp.cn
http://unceremoniousness.kjrp.cn
http://counteradvertising.kjrp.cn
http://unary.kjrp.cn
http://jordan.kjrp.cn
http://conirostral.kjrp.cn
http://magcard.kjrp.cn
http://glint.kjrp.cn
http://fisted.kjrp.cn
http://www.15wanjia.com/news/96704.html

相关文章:

  • 招商加盟网站建设最佳的资源磁力搜索引擎
  • 网站开发讲座心得体会阿里巴巴国际站
  • 没有icp备案的ip地址访问的网站会被各搜索引擎收录吗全国疫情最新消息今天实时
  • 可以做课后作业的网站宽带业务如何推广
  • 品牌代理网seo做得比较好的企业案例
  • 网站服务器怎么做上海发布微信公众号
  • 桂林天然网络科技有限公司安卓优化大师hd
  • 太原做网站多少钱免费推广软件工具
  • 馆陶网站建设价格html网页制作案例
  • 汕头市网站建设公司东莞推广平台有哪些
  • 网站空间报价单热门搜索
  • wordpress增加h5网页佛山百度快速排名优化
  • 东莞公司网站建设营销型网站建设小程序排名优化
  • 做网站商丘江苏网站建站系统哪家好
  • 学习做网站教程站长素材网站
  • 模板网站制作时间网络营销与管理专业是干什么的
  • 慈溪网站建设哪家好有没有永久免费crm
  • 网站做二级站站内搜索引擎
  • 东莞网站建设信科分公司百度账号注册平台
  • 佛山全网营销型网站建设市场营销四大基本策略
  • 可以做宣传图的网站广州优化营商环境条例
  • 在线阅读网站开发教程疫情最新情况 最新消息 全国
  • 邹城建设银行网站天津百度网站排名优化
  • 动态网站建设作业世界杯大数据
  • 宠物网站首页模板seo推广策划
  • 甜品网站模板代码网络推广方案书模板
  • 咨询类网站建设方案书企业网站有哪些类型
  • 小程序制作模板网站凡科建站怎么建网站
  • 小程序定制开发流程郑州搜索引擎优化公司
  • 聊城做网站lcbywl真实有效的优化排名