蒙德里安的梦想
蒙德里安的梦想P10975 Mondriaan’s Dream问题概述用 1×21×2 和 2×12×1 的多米诺骨牌覆盖 n×m棋盘求方案数。n,m≤11n,m≤11。状态定义f [ i ] [ j ] f[i][j]f[i][j]前 ii行已填满且第 ii行有方块伸到第 i1i1 行的列状态为 j的方案数。j是 m位二进制数第 p位为 1表示第 p列有方块从第 ii行伸到第 i1 行。状态总数 2^m转移方程f [ i ] [ j ] ∑ f [ i − 1 ] [ k ] f[i][j]∑f[i−1][k]f[i][j]∑f[i−1][k]其中 kk是第 i−1i−1 行的伸出状态需满足不冲突(j k) 0同一列不能既有伸下来的又有伸出去的剩余空位合法s t [ j ∣ k ] t r u e j ∣ k st[j∣k]truej∣kst[j∣k]truej∣k表示第 ii行被占用的列剩余连续空位必须为偶数才能竖放预处理合法性st[state]s**t[state] 表示状态 statestate是否合法所有连续 00空位的个数均为偶数。cppbool check(int state, int w) { int cnt 0; for (int i 0; i w; i) { if (state i 1) { if (cnt 1) return false; cnt 0; } else cnt; } return (cnt 1) 0; }例m4m40(0000)0(0000) 合法3(0011)3(0011) 合法5(0101)5(0101) 非法中间有1个0。完整代码#includeiostream#includecstringusingnamespacestd;constintN12,M1N;longlongf[N][M];boolst[M];intn,m;boolcheck(intstate,intw){intcnt0;for(inti0;iw;i){if(statei1){if(cnt1)returnfalse;cnt0;}elsecnt;}return(cnt1)0;}intmain(){ios::sync_with_stdio(false);cin.tie(0);while(cinnm,n||m){memset(f,0,sizeoff);for(inti0;i1m;i)st[i]check(i,m);f[0][0]1;for(inti1;in;i)for(intj0;j1m;j)for(intk0;k1m;k)if((jk)0st[j|k])f[i][j]f[i-1][k];coutf[n][0]\n;}return0;}

相关新闻

模板驱动的文档自动化:从内容到PDF的确定性流水线

模板驱动的文档自动化:从内容到PDF的确定性流水线

1. 项目概述:这不是“一键生成”,而是一套被精心封装的文档流水线你有没有过这种经历:手头有一篇写得不错的博客文章,老板突然说“赶紧做成个PDF小册子,下午发给客户”;或者团队刚整理完一份产品使用指南&a…

2026/7/19 1:46:28 阅读更多 →
树莓派DSI接口原理与实战配置指南

树莓派DSI接口原理与实战配置指南

1. 树莓派DSI接口基础认知DSI(Display Serial Interface)是MIPI联盟制定的显示接口标准,专为显示设备与处理器之间的高速数据传输设计。在树莓派生态中,DSI接口扮演着重要角色,特别是对于需要紧凑型显示解决方案的嵌入…

2026/7/19 1:46:28 阅读更多 →
SDN 与软件定义网络的安全边界在哪里?

SDN 与软件定义网络的安全边界在哪里?

文章目录一、先回答标题:边界到底「挪」到哪了?二、SDN 是什么:用一张图去掉神秘感2.1 经典三平面2.2 「软件定义」到底定义了什么?三、边界地图:六个必须画进架构图的信任域四、控制面安全:SDN 的「新城墙…

2026/7/19 1:46:28 阅读更多 →

最新新闻

Ionic项目APK签名全流程与安全实践

Ionic项目APK签名全流程与安全实践

1. Ionic项目APK签名基础概念解析在Ionic混合应用开发中,Android平台的APK签名是一个关键但常被忽视的环节。签名不仅是应用上架应用商店的必要条件,更是应用安全性的重要保障。与原生Android开发不同,Ionic项目通过Cordova或Capacitor构建时…

2026/7/19 3:25:04 阅读更多 →
I2C总线与CAT24WCxx EEPROM驱动实现详解

I2C总线与CAT24WCxx EEPROM驱动实现详解

1. I2C总线与CAT24WCxx存储器深度解析在嵌入式系统开发中,I2C总线和EEPROM存储器是工程师日常工作中最常打交道的组合之一。CAT24WCxx系列作为常见的I2C接口EEPROM,以其稳定的性能和简单的接口被广泛应用于各类设备配置存储、参数保存等场景。本文将深入…

2026/7/19 3:25:04 阅读更多 →
LangChain v1.x 工程化实战:Agents、Middleware、Streams 与 MCP 四大核心解析

LangChain v1.x 工程化实战:Agents、Middleware、Streams 与 MCP 四大核心解析

1. 项目概述:LangChain v1.x 的真实演进脉络与工程落地价值LangChain v1.x 不是简单的一次版本号跳变,而是一场面向生产环境的系统性重构。我从 2022 年初就开始用 LangChain 搭建企业级 RAG 系统,经历过从langchain0.0.150到v0.1.0的“经典时…

2026/7/19 3:25:04 阅读更多 →
Python装饰器:原理、实现与实战应用

Python装饰器:原理、实现与实战应用

1. Python装饰器基础概念装饰器(Decorator)是Python中一种强大的语法特性,它允许我们在不修改原始函数代码的情况下,动态地扩展函数的功能。这种编程模式在Python社区中被广泛使用,特别是在框架开发(如Flas…

2026/7/19 3:25:04 阅读更多 →
Java生产者消费者模式实战与性能优化

Java生产者消费者模式实战与性能优化

1. 生产者/消费者模式的核心价值在Java并发编程中,生产者/消费者模式就像是一条高效的流水线车间。我见过太多团队在处理异步任务时,把生产数据和消费数据的逻辑强耦合在一起,结果系统稍微有点流量波动就直接崩溃。这个模式最妙的地方在于&am…

2026/7/19 3:25:04 阅读更多 →
XNA4.0 RPG游戏开发:从入门到实战

XNA4.0 RPG游戏开发:从入门到实战

1. XNA4.0 RPG游戏开发入门指南 十年前当我第一次接触XNA时,就被它简洁高效的2D/3D游戏开发框架所吸引。作为微软推出的游戏开发工具,XNA虽然已经停止官方维护,但依然是学习游戏编程原理的绝佳平台。这个系列教程将带你从零开始,用…

2026/7/19 3:24:04 阅读更多 →

日新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:00:40 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:00:40 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/19 0:00:40 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:00:40 阅读更多 →

月新闻