最新要闻
- 瑰石装备可以账号共享吗?瑰石的功效与作用是什么?
- 古代后宫妃子怎么称呼?古代后宫妃子等级排序
- 过春节的国家有哪些?和我国同一天过春节的国家有哪些?
- 比特率是什么意思?比特率一般设置多少才算最好?
- 长篇小说一般多少字?2022年长篇小说排行榜前十名
- 付款方式无效怎么解决?付款方式有哪些?
- 每日看点!班尼路双旦大促:羽绒/棉服99元、牛仔/加绒裤49元起清仓
- 满血性能铁三角!一加11搭载LPDDR5X+UFS 4.0:直接12GB内存起步
- 热点评!株洲国际赛车场现卡丁车严重事故:车手被曝已身亡
- K系列最强影像系统!Redmi K60 Pro搭载IMX800旗舰传感器
- 环球简讯:女子醉驾被查现场狂飙演技:我心脏不好、为什么如此对我
- 刘强东:没离开过
- 百公里最多节油1升 五菱推出超级省油模式:星辰混动率先用上
- 环球热消息:GS5还是PS5?国外网友晒奇葩“山寨”商品
- 环球热头条丨当大厂程序员已开始用AI写代码 人类会被AIGC淘汰吗?
- 【环球新视野】2023年旗舰焊门员!Redmi K60 Pro卖2999不可能了
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
天天新动态:AcWing291.蒙德里安的梦想题解
题解:蒙德里安的梦想
注:
本题解内容简陋,多有不周,敬请谅解。如果有问题请在评论区留言。谢谢。由于作者能力有限,这篇题解不会给出太严谨的证明,只是旨在帮助大家更好地理解此题,具体的做法请读者自己思考。
题目简述:
求把 \(N×M\) 的棋盘分割成若干个 \(1×2\) 的长方形,有多少种方案。
【资料图】
如下图所示:
当 \(N=2,M=4\) 时,共有上图所示的五种方案
解题大概思路
首先,对于方案数的计算,可以考虑搜索枚举以计算答案。但是,考虑到搜索的复杂度是指数级别的(很抱歉,这里没能够想出复杂度是多少,如果有同学计算出来了可以在评论区留言),不能够通过 \(N \leq 11\) 的数据范围。于是我们需要考虑优化搜索算法。
如果大家看过闫老师的 \(DP\) 问题分析课,就会发现 \(DP\) 实际上就是对搜索的优化(其中一种实现方式就是记忆化搜索)。所以,对于这一道题,我们可以考虑使用动态规划算法来解决。
闫氏 \(DP\) 分析法主要分为两大步骤:状态表示和状态计算。在大概思路里我们只讨论状态表示。我们考虑一列一列地放置长方形(我也不清楚为什么要这样表示状态,暂时将其理解为这种 棋盘式动态规划问题的一种套路)。那么,某一列放置的方案只与上一列的放置方案有关(至于为什么接下来会进行详细说明)。为了方便记录状态,我们考虑使用状态压缩的方式存储状态。于是就有了本题的大概思路:状态压缩动态规划。
算法设计
我们考虑使用闫氏 \(DP\) 分析法来解决此题:
以上的描述可能过于模糊。我们来举一个例子看一看:
左侧表示状态 \(f[2][0]\) (请注意,我们行和列的编号都从 \(0\) 开始,二进制表示第 \(0\) 行为 \(2^0\) ,第 \(i\) 行为 \(2^i\) ),它可以从右侧(可能不只)的三个状态转移过来: \(f[1][4],f[1][7],f[1][1]\) 。
那么如何判断一个状态 \(f[i][state]\) 是否可以由状态 \(f[i-1][j]\) 转移而来呢?
结论是,当且仅当以下条件成立:
- \(state ~ \& ~ j = 0\)
- \(state ~ | ~ j\) 每一段连续的 \(0\) 都是偶数个
接下来我们来不严谨地粗略证明以下以上结论。
我们要证明的命题是,\(j\) 状态可以由 \(state\) 状态演变而来,并且有且仅有一种演变方案,当且仅当我们说到的上述条件成立。即
\[j状态可以由state状态演变而来,并且有且仅有一种演变方案\Leftrightarrow 上述条件成立\]我们需要证明以下命题:
\[\tag{1}j~状态可以由~state~状态演变而来,并且有且仅有一种演变方案\rightarrow 上述条件成立\]\[\tag{2}j~状态可以由~state~状态演变而来,并且有且仅有一种演变方案\leftarrow 上述条件成立\]我们先证明命题 \((1)\) :
如果说 \(j\) 状态可以由 \(state\) 状态演变而来,并且有且仅有一种演变方案,那么上述条件成立.
我们先说一说 \(state~\&~j = 0\) 等价于什么。这等价于 \(state\) 和 \(j\) 不能在同一位上同时都是一(这里就不给出严格证明了)。我们又可以知道,状态上某一位为一,意味着这一位对应的方格放置的是一个横向的小长方形(这里也不给出严格证明,读者可以自己想想为什么)。也就是说, \(state~\&~j = 0\) 保证了两个小方块重叠的情况不会发生。我们可以大概感受一下,如果说 \(j\) 状态可以由 \(state\) 状态演变而来,那么重叠的情况是不会发生的。
我们再说一说 \(state~|~j\) 代表着什么。 \(state~|~j\) 上某一位为零等价于 \(state\) 和 \(j\) 在这一位上都不为零,也就等价于这一位上没有摆放长方形。我们考虑先摆放横着的长方形再摆放竖着的长方形,那么如果连续的 \(0\) 是奇数个,我们从感觉上可以感知到这种情况是不可能用竖着的小方块铺满的(这里也不给出严格证明)。所以说,如果说命题 \((1)\) 是成立的。
我们再来证明命题 \((2)\) :
如果上述条件成立,那么存在且仅存在一种摆放横向小方格的方式,并且剩余部分可以由纵向的小方格铺满,并且纵向摆放的方式也有且仅有一种(感觉上应该是这样的),那么 \((2)\) 也是成立的。
于是对于某一个状态 \(state\) ,我们可以枚举每一个状态 \(j\) ,如果说 \(state\) 和 \(j\) 满足以上条件,那么 \(f[i][state]\)+=\(f[i-1][j]\)
完整代码
代码如下:
#include#include#include#include#define f_inline inline __attribute__((always_inline))using namespace std;using UL=unsigned long;using ULL=unsigned long long;//用于存储大型非负整数bitset<2050> isValid;vector partner[2050];//partner[i]存储i所对应的合法的状态ULL f[15][2050];f_inline bool check(register const UL num,register const UL N)//i是一个N位二进制数,返回值等价于num是否合法,即所有连续的0都是偶数个{ register UL cnt(0); for(register UL i(0);i>i)&1) { if(cnt&1) return false; cnt=0; } else ++cnt; return !(cnt&1);}int main(){ register UL N,M; while(cin>>N>>M,N||M) { register const UL bound(1<::iterator it(partner[j].begin());it!=partner[j].end();++it) f[i][j]+=f[i-1][*it]; cout<
-
世界热推荐:从零演示如何基于 IDL 方式来定义 Dubbo 服务并使用 Triple 协议
使用IDL定义服务具有更好的跨语言友好性,然而Triple协议并不是和IDL强绑定的,也可以使用JavaInterface...
来源: 天天新动态:AcWing291.蒙德里安的梦想题解
世界热推荐:从零演示如何基于 IDL 方式来定义 Dubbo 服务并使用 Triple 协议
全球动态:springboot 连接不上 redis 的三种解决方案!
瑰石装备可以账号共享吗?瑰石的功效与作用是什么?
古代后宫妃子怎么称呼?古代后宫妃子等级排序
过春节的国家有哪些?和我国同一天过春节的国家有哪些?
比特率是什么意思?比特率一般设置多少才算最好?
长篇小说一般多少字?2022年长篇小说排行榜前十名
付款方式无效怎么解决?付款方式有哪些?
冰箱冷藏室多少温度合适?冰箱冷藏室有水是怎么回事?
洗衣机不脱水了是怎么回事?洗衣机不脱水怎么解决?
淘宝换货流程怎么操作?淘宝换货流程注意事项有哪些?
空调模式有哪几种?空调模式三个水滴是什么意思?
ifox是什么格式的文件?ifox文件格式怎么打开?
每日看点!班尼路双旦大促:羽绒/棉服99元、牛仔/加绒裤49元起清仓
满血性能铁三角!一加11搭载LPDDR5X+UFS 4.0:直接12GB内存起步
热点评!株洲国际赛车场现卡丁车严重事故:车手被曝已身亡
K系列最强影像系统!Redmi K60 Pro搭载IMX800旗舰传感器
环球简讯:女子醉驾被查现场狂飙演技:我心脏不好、为什么如此对我
【脚本项目源码】Python制作提升成功率90%的表白神器
刘强东:没离开过
百公里最多节油1升 五菱推出超级省油模式:星辰混动率先用上
环球热消息:GS5还是PS5?国外网友晒奇葩“山寨”商品
环球热头条丨当大厂程序员已开始用AI写代码 人类会被AIGC淘汰吗?
【环球新视野】2023年旗舰焊门员!Redmi K60 Pro卖2999不可能了
《阿凡达:水之道》全球票房破8亿美元:口碑仍下滑 20亿美元才能回本
【播资讯】5.3分口碑扑街的好莱坞大烂片《真人快打》:要拍续集了
今日报丨库存严重还是别的?特斯拉上海工厂被曝已停产 官方正式回应不完全准确
【全球时快讯】比燃油车更污染!丰田CEO吐槽新能源车愚蠢后:用户最想要的是混动
天天观点:Epic喜加一!《死亡搁浅》免费送:立省88元
天天即时看!100小时!全球首架C919今日验证飞行:最快2023年春商业运营
【天天时快讯】常见sql攻击学习
全球视讯!在同一台主机启动多个FreeSWITCH实例
世界看点:谁能想到?人类历史上第一次抵抗AI:居然会发生在艺术圈
焦点日报:Java开发学习(四十七)----MyBatisPlus删除语句之多记录操作
全球消息!【踩坑】Debian编译安装Podman和Prometheus-podman-exporter
全球信息:我国多省雨雪上线!北方局地降温超8℃
第三章 --------------------XAML的属性和事件
AcWing.7 混合背包问题
每日快讯!统一异常处理——BlockException
环球快资讯丨Codeforces 983 D Arkady and Rectangles 题解
全球今热点:功耗只有65W!14核心i5-13500偷跑:解锁到154W太生猛了
全球视点!教你用JavaScript实现调皮的字母
【新视野】PHP Composer 虚拟依赖包 - 实现按需载入钉钉对应功能模块的 php sdk
全球新动态:Safari浏览器对SVG中的
标签支持不友好,渲染容易错位 【环球热闻】实拍日本多地暴雪:1.6米高积雪掩埋车辆、14人死亡
Redmi Buds 4青春版耳机亮相:单耳轻至3.9g 活力4色
环球快资讯:《阿凡达2》中的“海怪”:原来真的存在于地球!
AcWing241. 楼兰图腾
天天速递!CentOS7配置静态IP
天天快消息!男生考研分到高中母校被班主任监考:网友一句话扎心
天天信息:山东小伙用1个月微缩30倍农村老屋:惟妙惟肖
MAUI新生6.1-Shell导航视觉层次结构
每日播报!2022年优化最差游戏榜单出炉:《巫师3》次世代版上榜
世界通讯!能跑虚幻5特效!Centerpiece机械键盘自带CPU+GPU
环球滚动:康辉被调侃为“天选打工人”:连上六天班、领带惹眼
世界百事通!Redmi K60首款素皮机身揭秘:参照跑车内饰 拟真缝线工艺
上海今起对快递外卖每人每天补贴60元 元旦春节补贴150元
全球观焦点:15.5小时!阿里云史上最长大规模中断:官方公告四大问题
不吃饭光吃补充剂 真的可以避免营养缺乏吗?
历时9个月 时速350高铁成功“穿海入城”
别再说RTX 4090功耗比A卡高了:4K 120帧仅需150W
简讯:权威结果出炉:今年画质最好的游戏有答案了
炉石关服前夕:网易同类卡牌游戏《秘境对决》宣布恢复运营
今日最新!洛谷 P5721 【入门3】循环结构
【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】
环球热议:大货车雪地滑坡 山东小伙神操作“拔草相助”!后续令网友感动
超长寿命TLC闪存 金邦2TB PCIe 4.0硬盘679元:5GB/s速度
热门:再不努力就要归零 2nm工艺成日本半导体最后的机会
教你用JavaScript实现搜索展开
天天新资讯:李斌:创业的没有几个真的是骗子 要多鼓励
AMD 8年真身接连被破 Intel 13代酷睿“开挂“:超频无敌了
【焦点热闻】索尼被质疑虚假宣传:上市两年后 PS5仍不支持8K
中国千年酒文化传承 酒祖杜康白酒大促:礼盒装110两瓶
今日聚焦!李斌再回应蔚来数据泄露:会承担所有责任 哪怕破产也不妥协
环球微动态丨「杂题乱写」AtCoderDP26 题
(二)elasticsearch 源码目录
【新视野】碳纤维纹理后盖!Redmi K60回归硬核设计:刀锋战士理念
速看:无惧严寒!网易严选牛奶绒床品四件套:159元起
新的全国铁路列车运行图实行:石家庄至北京将实现一小时通达
新版以太坊Ethereum库ethersV5.0配合后端Golang1.18实时链接区块链钱包(Metamask/Okc)以及验签操作
环球关注:高速上飞来钢管插进驾驶室:差点害死驾驶员
热消息:联想:小红点会在ThinkPad笔记本上永远存在
天天头条:正式发布前 盒装RTX 4070 Ti线下偷跑:售价感人
天天热资讯!保时捷为Taycan推出全新充电器:充电速度提升一倍 改装费用上万
环球通讯!Epic喜加一!免费送大作《地铁》:下款将是《死亡搁浅》
每日头条!2023考研报告发布:“逆向考研”成亮点!附报告源文
世界快播:锐龙7000系列三款非X型号曝光:价格感受下
囧!日本老师暴打初二男生 因学“左手定则”时比中指
老人故意推倒摩托车损坏被抓:车主回应希望判决不手软 惯犯了
焦点速递!Sentinel的规则
天天热议:一加11下周官宣:安卓性能天花板
MAUI新生5.3-Layout布局类控件难点
国产OS统信UOS家庭版22.0明年1月发布:免费用1年 可与Windows共存
全靠移民硬撑?美国人口增长率仍贴近历史低位
视点!18岁女生因焦虑2个月减25斤:最终瘦成95斤
天天消息!男子无聊送外卖发现2小时挣150:开豪车也干
天天精选!Kubernetes监控手册03-宿主监控实操
今日观点!一路用到安卓17?OPPO将提供4年ColorOS重大更新
环球即时看!同价位罕见!雷军:Redmi K60系列这三款全都上2K直屏