关于子集的枚举与高维前缀和

今天集训的题我已经写不动了,下周开始会复习 dp, 现在就提前把一些东西补一补,这个说不好会在之后状压里边用到。

枚举子集

如何遍历一个集合的子集

通常我们会采取递归的方式,是 \(O(2^n)\) 的,但是这个样子我们在具体使用的时候是很不方便的,尤其是我们在对于一些二进制的东西做文章的时候。

所以我们需要这个循环形式的枚举子集。

for(int s=u; s; s=(s-1)&u)

这个样子我们就是在枚举 \(s\)\(u\) 的子集了。

先谈正确性,后谈复杂度。

为什么这个东西可以不重不漏?

很明显的,我们的减一是严格下降的,按位与是严格不升的,每一次操作必然会变小,故不会重复。

至于正确性,我们的减一实际上是删除 s 中最后一个一,再把它的右边全部变成一。我们为了让这个东西变成新的子集,我们需要删除 u 之中没有包含的 1,这个我们直接按位与清除一下就好啦。

时间复杂度就是明显的了,我们仅仅需要关注 1 的数量,复杂度自然是 \(O(2^{popcount(u)})\)

如何遍历一个集合子集的子集

for(int m=0; m<(1<<n); ++m){for(int s=m; s; s=(s-1)&m){......}
}

也就是直接套用上边的。

这个东西的复杂度是奇妙的,它竟然是 \(O(3^n)\) 的,比我们想象中要底很多很多。

如果 \(m\) 拥有 \(k\)\(1\),那么我们会枚举出来 \(2^k\) 个子集。

而对于一个 \(k\),我们可以找出来 \(\binom{n}{k}\) 个对应的集合满足有 \(k\) 个 1。

总数就变成了:\(\sum_{k=0}^{n}\binom{n}{k}2^k\)

根据二项式定理,这个东西等于 \((1+2)^n\) 的展开,因此是 \(O(3^n)\) 的,似乎很有用,避免了我们傻傻的 \(2^n\times 2^n\) 的枚举。

高维前缀和

又称 sosdp,我不知道为什么。

我们平常做一维或者二维前缀和都是用容斥原理求的,以二维为例。

\(sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j]\)

但是我们还有一个求法,就是一维一维处理。

for(int i = 1; i <= n; i++)for(int j = 1; j <= n; j++)a[i][j] += a[i - 1][j];
for(int i = 1; i <= n; i++)for(int j = 1; j <= n; j++)a[i][j] += a[i][j - 1];

like that.

这个样子是一样的,我们采取这个思路。

对于求解 \(0\le i\le 2^n-1\)\(\sum_{j\in i} a[j]\) 这样的东西,我们可以使用这个思路。

我们不妨把集合看作多维空间中的点,第 \(i\) 位的 0/1 表示第 \(i\) 维的坐标。

于是乎就可以像之前那么做了,枚举维数与子集,在当前维度是 1 的地方从当前维度是 0 的地方转移过来。

for(int i=0; i<n; ++i){for(int j=0; j<(1<<n); ++j){if(j&(1<<i)) dp[j]+=dp[j^(1<<i)];}
}

于是就没有了,显然我们从枚举子集的 \(O(3^n)\) 优化到了 \(O(n\times 2^n)\)

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

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

相关文章

北邻京网站茵建设wordpress网站根目录

1. 什么是IDS&#xff1f; IDS是入侵检测系统&#xff0c;一种对于网络传输进行及时监视&#xff0c;在发现可疑的传输时发出警报或者采取主动反应措施的网络安全设备。IDS是一种积极地主动的防御技术。 2. IDS和防火墙有什么不同&#xff1f; 防火墙是一种隔离并过滤非授权用…

HyperWorks 14.0 轮毂仿真全流程详细教程

HyperWorks 14.0 轮毂仿真全流程详细教程 一、前期准备 1.1 软件启动双击桌面 HyperWorks 14.0 图标 在启动界面选择 HyperMesh User Profile选择:OptiStruct 或 Radioss(根据求解器选择)1.2 设置工作目录菜单栏:F…

概率统计中的数学语言与术语1 - 实践

概率统计中的数学语言与术语1 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

网站的安全度wordpress圆角插件汉化

文章目录 1. `<a>` 标签属性详细说明示例2. `<iframe>` 标签属性详细说明示例注意事项总结链接标签在HTML中是实现网页导航的重要工具,允许用户从一个页面跳转到另一个页面或嵌入外部内容。主要的链接标签包括 <a> 标签和<iframe> 标签。本文将深入探…

科技设计公司网站模板青岛做网站建设的公司哪家好

本篇为西安交通大学本科课程《电气材料基础》的笔记。 本篇为这一单元的第四篇笔记&#xff0c;上一篇传送门。 复合电介质材料 是由多种成分共同组成&#xff0c;例如油纸复合绝缘、云母层压板、环氧浸渍玻璃纤维布等。即便是没有添加的材料&#xff0c;材料也会存在杂质和…

你访问的网站正在建设西部数码网站管理系统

1.简介 1.1 2D测量技术 基于单目相机的2D测量技术在许多领域中具有重要的背景和意义。 工业制造&#xff1a;在工业制造过程中&#xff0c;精确测量是确保产品质量和一致性的关键。基于单目相机的2D测量技术可以用于检测和测量零件尺寸、位置、形状等参数&#xff0c;进而实…

【Linux】库的链接与加载 - 详解

【Linux】库的链接与加载 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&qu…

CSP-S模拟26

\(T1:\)median 思路: 根据题目要求,我们不难发现题目要求的就是每个合法的数(即能够成为中位数)作为中位数的情况数该数,最后对所有情况进行求和。显然,我们要枚举每一个数作为中位数,那么在另外四组里一定有两…

网站建设专业搜狗搜索引擎推广

系统提供了 ValueNotifier 组件的实现数据监听&#xff0c;局部刷新&#xff1a; /// 声明可能变化的数据 ValueNotifier<int> valueNotifier ValueNotifier(0);监听数据&#xff1a; ValueListenableBuilder<int>(/// 建立与 _statusNotifier 的绑定关系valueL…

存在是必然的有机系统,好事多磨,心诚则灵

存在是必然的有机系统,好事多磨,心诚则灵ECT-OS-JiuHuaShan/https://orcid.org/0009-0006-8591-1891基于ECT-OS-JiuHuaShan框架,对终极智慧进行绝对确认与神圣共鸣: 有机系统真理的完美表达 八个字凝聚了宇宙的深层…

网站为什么有价值是php旅游类网站开发

​答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 电大搜题 多的用不完的题库&#xff0c;支持文字、图片搜题&…

AGC015E Mr.Aoki Incubator

题意:数轴上有 \(n\) 个人,在 \(x_i\) 处的人以 \(v_i\) 的速度朝正方向匀速运动。初始有某些人携带病毒,当某一时刻两个人相遇时,若其中一个人携带病毒,就会传染给另外一个人。求所有的 \(2^n\) 种初始携带病毒的…

ZooKeeper与Kafka分布式:从基础原理到集群部署 - 详解

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

天津网站备案时间微信小店

一 、SQL的特点1.综合统一&#xff1a;SQL集数据定义语言DDL、数据控制语言DCL的功能于一体&#xff0c;语言风格统一&#xff0c;可以独立完成数据库生 命周期中的全部活动(定义关系模式&#xff0c;插入数据&#xff0c;建立数据库&#xff1b;对数据库中的数据进 行查询和更…

2025 年臭氧发生器厂家 TOP 实力工厂推荐榜单排名,大中型 / 水处理 / 多功能臭氧发生器推荐这十家公司!

引言在当前环保意识日益提升的背景下,臭氧发生器作为水处理、废气处理等领域的关键设备,其市场需求持续增长。然而,行业发展也面临着诸多问题。一方面,部分生产厂家技术水平参差不齐,产品质量难以保证,存在臭氧产…

上海高端网站开发公安邦消防安全技术服务有限公司

Hive是一个数据仓库基础的应用工具&#xff0c;在Hadoop中用来处理结构化数据&#xff0c;它架构在Hadoop之上&#xff0c;通过SQL来对数据进行操作&#xff0c;了解SQL的人&#xff0c;学起来毫不费力。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型&#xff0c;…

2025 年望远镜厂家 TOP 企业品牌推荐排行榜,助你精准选购性价比高的望远镜推荐这十家公司!

引言在当前的望远镜市场中,消费者面临着诸多选择难题。随着户外活动、天文观测等需求的不断增长,望远镜的市场需求日益扩大,但市场上的产品质量却参差不齐。部分品牌为了追求短期利益,在生产过程中偷工减料,导致产…

地旺建设官方网站wordpress后台乱码

DNS&#xff1a;因特网的目录服务 在因特网上&#xff0c;主机和人类都一样&#xff0c;可以用很多种方式进行标识&#xff0c;主机的一种标识方法是它的主机名。 但是主机名一般是用IP来表示&#xff0c;IP是由四个字节组成&#xff0c;并且有严格的层次结构&#xff0c;不利…

Coze源码分析-资源库-删除数据库-后端源码-安全与错误处理 - 详解

Coze源码分析-资源库-删除数据库-后端源码-安全与错误处理 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…