学习笔记第四十一节:Min-Max反演

正题

      我们探究着反演的奥妙,突然发现有一条式子,很奇怪:

      \max(a,b)=a+b-\min(a,b)

      接着,有一群人就把它们推广成普遍的式子:

      \max_S=\sum_{T\in S}(-1)^{|T|+1}\min_T

       \min_S=\sum_{T\in S}(-1)^{|T|+1}\max_T

      我们就可以做很多事情了:

      比如说遇到一些max值很难求出来的,而且min值很容易得到的,我们可以通过Min-Max反演来枚举子集使得其算出max值。

      就像这一题:[HAOI2015]按位或

      我们先把每一位看成一个点,点的权值就是这个点被选中的期望时间,又因为是或操作,所以被操作成1就不可能变回去了。

      发现这个答案相当于求点权中的的最大值。利用Min-Max反演,把它转换为求全集的所有子集的min值,再算出答案。

      那么min值就相当于一个子集中至少一个点被操作的期望,转化为1/一个子集中至少一个点被操作的概率,接着,我们运用补集转化,把它转化为1-这个子集的补集的子集的概率和。发现这个东西可以直接做一遍FWT的或的正变换。(相当于每一个位置上的值变为其所有子集的和)

      然后就做完了?记得判断INF情况!

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
using namespace std;

int n,limit;
double p[1<<20];
int pc[1<<20]; 
double eps=1e-8;
double ans=0;

int main(){
	scanf("%d",&n);limit=(1<<n);
	for(int i=0;i<limit;i++) scanf("%lf",&p[i]);
	for(int i=0;i<limit;i++) pc[i]=pc[i>>1]+(i&1);
	for(int l=2;l<=limit;l*=2)
		for(int i=0;i<limit;i+=l)
			for(int x=i,y=i+l/2;y<i+l;x++,y++)
				p[y]+=p[x];
	for(int i=0;i<limit-1;i++)
		if(p[i]+eps>1) {printf("INF");return 0;}
	for(int i=1;i<limit;i++)
		ans+=1/(1-p[limit-1-i])*((pc[i]&1)?1:-1);
	printf("%.8lf",ans);
} 

     

     

反演控制方法与实现 《反演控制方法与实现》系统地介绍了反演控制方法的基本原理及其在不确定非线性系统中的应用。《反演控制方法与实现》共分为6章,在介绍反演法的一般理论的基础上,重点论述了抑制参数漂移的自适应反演方法,考虑非线性干扰观测器的弱抖振滑模反演方法,针对系统模型部分未知的情况,使用模糊系统和神经网络估计系统中的未知部分,给出了基于智能系统的反演设计方法,同时本书介绍了系统状态未知情况下的反演设计方法。针对各种情况本书均给出了详细的理论设计方法和Matlab仿真。   《反演控制方法与实现》是作者在从事控制理论与控制方法研究的基础上完成的。本书适用于从事非线性控制方法研究的工作人员和研究生参考。 前言 第1章 绪论 1·1 研究的背景及意义 1·2 李雅普诺夫稳定性理论 1·2·1 李雅普诺夫意义下的稳定性 1·2·2 有界性 1·2·3 李雅普诺夫稳定性理论 1·3 微分几何理论基础 1·3·1 李导数和李括号 1·3·2 微分同胚 1·3·3 控制系统的相对阶 1·3·4 输入状态线性化 1·3·5 状态反馈线性化的设计 1·4 反演法的基本原理 1·5 反演法的研究概况 1·5·1 自适应反演控制 1·5·2 鲁棒自适应反演控制 1·5·3 滑模反演控制 1·5·4 智能反演控制 1·5·5 其他反演控制方法 1·6 本书的主要研究内容 第2章 自适应反演控制方法 2·1 引言 2·2 常规自适应反演法 2·2·1 自适应反演法设计思路 2·2·2 仿真算例 2·3 抑制参数漂移的自适应反演控制 2·3·1 问题描述及预备知识 2·3·2 抑制参数漂移的自适应反演控制器设计 2·3·3 系统稳定性分析 2·3·4 仿真算例 2·4 扩展的自适应反演控制 2·4·1 问题描述 2·4·2 参数自适应律的设计 2·4·3 基于动态面的扩展反演控制器设计 2·4·4 稳定性分析 2·4·5 仿真算例 2·5 仿真算例的Matlab实现 2·5·1 仿真算例的Matlab实现 2·5·2 仿真算例的Matlab实现 2·5·3 仿真算例的Matlab实现 2·6 本章 小结 第3章 不确定非线性系统的弱抖振滑模反演控制 3·1 引言 3·2 滑模控制基本原理 3·3 匹配不确定非线性系统的弱抖振滑模反演控制 3·3·1 问题描述 3·3·2 滑模反演控制器设计 3·3·3 滑模反演控制稳定性分析 3·3·4 自适应滑模反演控制器设计 3·3·5 自适应滑模反演控制稳定性分析 3·3·6 非线性干扰观测器 3·3·7 匹配不确定非线性系统的弱抖振滑模反演控制 3·3·8 仿真算例 3·4 非匹配不确定非线性系统的多滑模反演控制 3·4·1 问题描述 3·4·2 多滑模反演控制 3·4·3 基于非线性干扰观测器的多滑模反演控制 3·4·4 系统稳定性分析 3·4·5 仿真算例 3·5 仿真算例的Matlab实现 3·5·1 弱抖振滑模反演控制的Matlab实现 3·5·2 自适应弱抖振滑模反演控制Matlab实现 3·5·3 多滑模反演控制Matlab实现 3·6 本章 小结 第4章 基于模糊系统的非线性系统反演控制 4·1 引言 4·2 基于模糊系统的非线性系统控制 4·2·1 问题的提出 4·2·2 模糊系统描述 4·2·3 控制器设计 4·2·4 仿真算例 4·3 Matlab实现 4·4 本章 小结 第5章 基于神经网络的非线性系统反演控制 5·1 引言 5·2 非线性系统的鲁棒小波神经网络控制 5·2·1 问题的提出 5·2·2 小波神经网络结构 5·2·3 控制器的设计 5·2·4 稳定性分析 5·2·5 仿真 5·3 不确定非线性系统的鲁棒自适应渐近跟踪控制 5·3·1 控制目标 5·3·2 控制器设计 5·3·3 仿真算例 5·4 算例的Matlab实现 5·4·1 算例的Matlab实现 5·4·2 算例1的Matlab实现 5·4·3 算例2的Matlab实现 5·5 本章 小结 第6章 基于状态观测器的反演控制器设计 6·1 滑模观测器控制器设计 6·1·1 滑模观测器设计 6·1·2 滑模反演控制器设计 6·2 仿真算例 6·3 仿真实例的Matlab实现 6·4 本章 小结 参考文献
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值