算法笔记-- 二进制集合枚举子集 && 求子集和 && 求父集和
枚举子集:
复杂度:O(3^k)
for (int i = s; i; i = (i-)&s);
用sos dp求解子集和以及父集和
子集和:
for (int i = ; i <= k; i++) {
for (int mask = ; mask < (<<k); mask++) {
if(i == ) {dp[mask][i] = cnt[mask]; continue;}
if(mask&(<<i)) dp[mask][i] = dp[mask^(<<i)][i-] + dp[mask][i-];
else dp[mask][i] = dp[mask][i-];
}
}
父集和:
转移方向与上相反,优化一维空间
for (int mask = ; mask < (<<k); mask++) dp[mask] = cnt[mask];
for (int i = ; i <= k; i++) {
for (int mask = ; mask < (<<k); mask++) {
if(mask&(<<i)) dp[mask^(<<i)] += dp[mask];
}
}
算法笔记-- 二进制集合枚举子集 && 求子集和 && 求父集和的更多相关文章
- [算法笔记-题解]问题 A: 例题4-1 一元二次方程求根
问题 A: 例题4-1 一元二次方程求根 [命题人 : 外部导入] 时间限制 : 1.000 sec 内存限制 : 12 MB 题目描述 求一元二次方程ax2+bx+c=0的根,三个系数a, b, c ...
- 算法笔记_090:蓝桥杯练习 7-1用宏求球的体积(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 使用宏实现计算球体体积的功能.用户输入半径,系统输出体积.不能使用函数,pi=3.1415926,结果精确到小数点后五位. 样例输入 一个 ...
- 算法笔记_074:子集和问题(Java)
目录 1 问题描述 2 解决方案 2.1 全排列思想求解 2.2 状态空间树思想求解 1 问题描述 求n个正整数构成的一个给定集合A = {a1,a2,a3,...,an}的子集,子集的和要等于一 ...
- UVA11825 Hacker's Crackdown 二进制集合+关于子集的动态规划
题意:有N台服务器,全部服务器都直接运行着完全相同的N个任务.对于每台电脑,你都可以进行“一次”操作,使得某(自己选定)一种任务停止,且同时会使得其他和这台服务器直接相连的电脑上面相同的服务完全终止. ...
- 基于visual Studio2013解决面试题之1309求子集
题目
- [Leetcode 78]求子集 Subset
[题目] Given a set of distinct integers, nums, return all possible subsets (the power set). Note: The ...
- SCU 4424(求子集排列数)
A - A Time Limit:0MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice ...
- 算法笔记(c++)--求一个数的所有质数因子
算法笔记(c++)--求一个数的所有质数因子 先贴题目: 这题不难,恶心在理解上面.最后看评论知道了怎么回事: 2*2*3*3*5=180 按照这逻辑的话应该输入的数由一系列质数相乘出来,所以每次找到 ...
- LeetCode第[78]题(Java):Subsets(求子集)扩展——第[90]题:Subsets 2
题目:矩阵置0 难度:Easy 题目内容: Given a set of distinct integers, nums, return all possible subsets (the pow ...
随机推荐
- db2look 工具
db2look -d sample -m > db2look_stat.out
- 树莓派3 之 安装Mysql服务
需求 在树莓派上 安装Mysql 服务,并开启远程访问 步骤 安装 mysql server $ sudo apt-get install mysql-server 我以为中间会让我提示输入 数据库r ...
- 2018-2019-2 20175313 实验一《Java开发环境的熟悉》实验报告
一.实验内容及步骤 使用JDK编译.运行简单的Java程序 cd code进入code文件夹 mkdir 20175313创建20175313文件夹 ls查看当前目录 cd 20175313,mkdi ...
- 唯美MACD-完全版
前言: 自己很喜欢MACD这个指标,因为很欠缺所以就搜集的多一点,有人问,学习缠为什么还这么搜集些Macd的资料呢?因为在分析走势(或盘整背驰.或趋势背驰)的时候我的习惯使用Macd做辅助判断,所以M ...
- Redis入门到高可用(十六)—— 持久化
一.持久化概念 二.持久化方式 三.redis持久化方式之——RDB 1.什么是RDB 在 Redis 运行时, RDB 程序将当前内存中的数据库快照保存到磁盘文件中, 在 Redis 重启动时, R ...
- Win10系统jdk环境变量配置方法
http://www.w10zj.com/Win10xy/Win10yh_5620.html
- AWK编程
1.awk的概述 文本处理工具,由于功能的强大,也可以当做是一种数据操作语言,非常适合结构化数据的处理和格式化报表的生成,awk可以进行样式装入.流控制.数学运算符.甚至于内置的变量和函数.它具备了一 ...
- Spring框架第二天
## Spring框架第二天 ## ---------- **课程回顾:Spring框架第一天** 1. 概述 * IOC和AOP 2. 框架的IOC的入门 * 创建applicationContex ...
- POJ 1986 Distance Queries(LCA Tarjan法)
Distance Queries [题目链接]Distance Queries [题目类型]LCA Tarjan法 &题意: 输入n和m,表示n个点m条边,下面m行是边的信息,两端点和权,后面 ...
- windows程序设计 创建一个新的窗口
#include <windows.h> LRESULT CALLBACK myProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(H ...