SOSDP

\(\text{SOSDP: Sum over Subsets DP}\)

例子:给定一个序列长度为 \(2^n\) 的序列 \(a\),求对于 \(i = 0,1,\cdots,2^n-1\)\(A_i\),其中 \(A_i = \sum\limits_{j\&i=j}a_j\),即 \(i\) 的子集和。

\(f_{i,s}\) 表示 \(s\) 的前 \(i+1\) 个低位子集的和,有:

\[f_{i,s} = \begin{cases} f_{i-1,s}, & (s>>i)\&1=0\\ f_{i-1,s} + f_{i-1, s \oplus 2^i}, & (s>>i)\&1=1 \end{cases} \]

初始化 \(f_{0, i} = a_i + a_{i\oplus 1}\)。时间复杂度 \(O(n2^n)\),空间复杂度 \(O(n2^n)\)

rep(i, 1, 1 << n) f[0][i] = a[i] + a[i ^ 1];
rep(i, 1, n - 1) rep(j, 0, (1 << n) - 1)
{f[i][j] = f[i - 1][j];if((j >> i) & 1) f[i][j] += f[i - 1][j ^ (1 << i)];
}

\(f_i\) 的转移只和 \(f_{i-1}\) 有关,考虑优化掉这一位。

\((s>>i)\&1=1\) 时,\(s \oplus 2^i < s\),可以将 \(s\) 这一维倒序枚举:

rep(i, 0, 1 << n) f[i] = a[i];
rep(i, 1, n) per(j, 0, (1 << n) - 1) if((j >> i) & 1) f[j] += f[j ^ (1 << i)];

再仔细想一下,在第 \(i\) 轮时,\(f_j\) 都是由 \(f_{j\oplus 2^i}\) 转移来的,更新为第 \(i\) 层的 \(f_j\)\(j\) 的第 \(i\) 位都是 \(1\),第 \(i-1\) 层的 \(f_{j\oplus 2^i}\)\(j\oplus 2^i\) 的第 \(i\) 为都是 \(0\)。所以正序枚举 \(j\) 也是可以的。

rep(i, 0, 1 << n) f[i] = a[i];
rep(i, 1, n) rep(j, 0, (1 << n) - 1) if((j >> i) & 1) f[j] += f[j ^ (1 << i)];

时间复杂度 \(O(n2^n)\),空间复杂度 \(O(2^n)\)

以上是求 \(i\) 的子集的和,要是求超集,可以把二进制的 \(0\) 看做 \(1\)\(1\) 看做 \(0\) 来做一次 \(DP\)

rep(i, 0, 1 << n) f[i] = a[i];
rep(i, 1, n) rep(j, 0, (1 << n) - 1) if(!((j >> i) & 1)) f[j] += f[j ^ (1 << i)];

\(\text{SOSDP}\) 与高维前缀和的关系:

给定 \(n\) 维序列 \(a\),求所有 \(S\),其中

\[S_{i_1,i_2,\cdots,i_n} = \sum\limits_{j_1\le i_1,j_2\le i_2,\cdots,j_n\le i_n}a_{j_1,j_2,\cdots,j_n} \]

若每一维的大小为 \(2\),则可以状态压缩,然后用 \(\text{SOSDP}\) 来做。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/941248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年保洁公司推荐排行榜,驻场保洁/钟点保洁/开荒保洁/外包保洁/商场保洁/办公楼保洁/工厂保洁/医院保洁/企业保洁服务优选指南

2025年保洁公司推荐排行榜:驻场保洁/钟点保洁/开荒保洁/外包保洁/商场保洁/办公楼保洁/工厂保洁/医院保洁/企业保洁服务优选指南 随着现代商业环境的不断发展,专业保洁服务已成为各类机构日常运营中不可或缺的一环。…

macOS 内核路由表执行:直接 API 编程指南

macOS 内核路由表执行:直接 API 编程指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

图像增强任务

DiT4SR: Taming Diffusion Transformer for Real-World Image Super-Resolution (ICCV2025)在HuggingFace可以运行,也可以下载本地去运行Exploiting Diffusion Prior for Real-World Image Super-Resolution[IJCV2024…

20232320 2025-2026-1 《网络与系统攻防技术》实验二实验报告

1.实验内容 关于后门 什么是后门 后门是隐藏在系统中的秘密通道,让攻击者能够绕过正常安全控制,随时访问和控制目标系统。 后门如何实现 生成恶意程序(如MSF meterpreter) 通过计划任务、系统服务、启动项实现持久…

spi+dma接收,dma失能后不能使能

spi+dma接收,dma失能后不能使能/*在调试dma的时候遇到不理解的问题,spi从机模式,接收主机的数据,第一个cs低电平搬运的数据是3个或5个FF 另外使用正常的操作,读取dma剩余字节,关闭dma,处理数据,重新初始化dma,…

2025年锯床厂家权威推荐榜:数控锯床、立式锯床专业选购指南与实力厂家深度解析

2025年锯床厂家权威推荐榜:数控锯床、立式锯床专业选购指南与实力厂家深度解析 行业背景与发展趋势 随着制造业转型升级步伐加快,锯床作为基础加工设备正迎来技术革新的关键时期。数控锯床和立式锯床凭借其高精度、高…

2025年扑灭司林厂家推荐排行榜,高效环保杀虫剂,农业/卫生防疫专用扑灭司林原药及制剂公司推荐

2025年扑灭司林厂家推荐排行榜:高效环保杀虫剂引领农业与卫生防疫新趋势 在农业生产与公共卫生防疫领域,高效低毒的杀虫剂产品始终发挥着不可替代的作用。扑灭司林作为一类高效合成拟除虫菊酯类杀虫剂,因其卓越的杀…

【征文计划】基于Rokid CXR-M SDK 打造AI 实时会议助手:从连接到自定义界面的完整实践 - 教程

【征文计划】基于Rokid CXR-M SDK 打造AI 实时会议助手:从连接到自定义界面的完整实践 - 教程2025-10-20 15:06 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !impo…

在AI技术快速实现创意的时代,挖掘新需求成为核心竞争力——某知名内容管理系统能力框架需求探索

本文深入分析了一个为内容管理系统设计的标准化能力描述框架,探讨其核心功能、应用场景以及用户反馈中蕴含的潜在需求,为AI时代下的产品功能规划提供参考思路。内容描述核心功能定位:该项目旨在为某知名内容管理系统…

2025年方钢/扁钢/圆钢/光轴/六角钢/异型钢/冷拉冷拔钢/热轧钢厂家推荐排行榜,Q355B/Q345B/16Mn/45#/40Cr/A3/Q235B材质优质供应商精选

2025年方钢/扁钢/圆钢/光轴/六角钢/异型钢/冷拉冷拔钢/热轧钢厂家推荐排行榜,Q355B/Q345B/16Mn/45#/40Cr/A3/Q235B材质优质供应商精选 行业背景与发展趋势 钢铁材料作为现代工业的基础原材料,在机械制造、建筑工程、…

水韵文脉与科创烟火:无锡城市旅游宣传片的专业化叙事构建 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

单细胞转录组:差异基因分析和富集分析 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

DBA必备脚本:Oracle获取绑定变量的字面SQL文本版版本替代

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。脚本的获取请…

联通光猫烽火吉比特HG6145F获取超级密码

第一步 获取光猫MAC地址 这是两种方法看看光猫实体后面的标注 arp -a 192.168.1.1返回的物理地址第二步 开启Telnet 浏览器输入http://192.168.1.1/telnet?enable=1&key=************ 「************」处为光猫的…

083_尚硅谷_多分支基本使用

083_尚硅谷_多分支基本使用1.分支控制if_else基本语法及说明 2.多分支的流程图 3.多分支案例1 4.多分支案例2

为什么制造业的仓库经验,放到电商就行不通?

我的一些朋友,原先是在制造业做过仓库管理的人,后面转行了电商企业,就直接把原来的一套经验搬过来继续管理仓库,但真正实行后,很快就发现了问题:在制造业里运转得很顺的一套方法,在电商场景下却水土不服。 我个…

Oracle案例:grid环境关于asm diskpath是否需要一致

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。Oracle案例:…

宠物去哪啦小程序系统:智能宠物管理与定位解决方案

一、概述总结 “宠物去哪啦” 是一款聚焦宠物管理与安全的智能小程序系统,支持微信端部署使用。核心依托北斗 + GPS 双模定位的宠物项圈硬件,搭配微擎系统交付的小程序平台,为宠物主人提供实时定位、安全围栏、轨迹…

Windows 如何关闭 dep数据执行保护 - 软件双击没反应的解决办法

1、按 win + s 输入 高级系统设置2、单击“高级”选项卡,然后单击“性能”下面的“设置”;3、单击“数据执行保护”选项卡 选择仅为基本Windows程序和服务启用DEP

2025年整平机厂家推荐排行榜,整平机/校平机/矫平机/开平机/平板机/矫直机/校直机,高精度/精密/液压式/数控/金属/高效稳定/多种规格/全自动整平机公司推荐

2025年整平机厂家推荐排行榜:权威解析行业领军企业 在金属加工行业持续升级的背景下,整平设备作为提升产品质量的关键装备,其技术水平和性能表现直接影响着生产效率和产品精度。随着制造业向高质量方向发展,市场对…