幻想的狼与旅行从者

JSOI压缩技术解压算法

Description

现在灰狼与蔷薇请你写一个程序,来解压一个被一种简单的jsoi压缩技术压缩过的一串信号(一列数)。考虑我们有一列包含偶数个数字的数列,将其分成n/2组,计算出每组两个数的和与差,分别写成两列长度为原来一半的。以同样的方式对变换后的信号的前半段(即以s(i)为输入信号)作变换,如此循环,直到输入信号的长度为1为止。你可以假定输入信号的长度一定是 2n,并且每个数字信号的范围都在 0~255之间。

Analysis

非常明显的分治算法,理解题意后进行倒推。长度为1无须倒推。长度为2的序列中第一个数字为两数之和,第二个数字为两数之差。利用基本的数学知识就可以算出两个数原本的值然后放回原位,问题退回到倒数第二次操作,第一个数字对应第三个,第二个对应第四个,以此类推,不断还原,直到还原log2n次操作,则为明文。

Code

#include <bits/stdc++.h>

int n,num[257],load[257];

int main(){
    freopen("wavelet.in","r",stdin);
    freopen("wavelet.out","w",stdout);
    while(1){
        scanf("%d",&n);
        if(!n)break;
        memset(num,0,sizeof(num));
        memset(load,0,sizeof(load));
        for(int i=1;i<=n;i++)
            scanf("%d",&num[i]);
            for(int i=1;i<=log2(n);i++){
                for(int j=1;j<=(1<<i-1);j++){
                    int x=num[j];
                    int y=num[j+(1<<i-1)];
                    load[j*2]=(x-y)/2;
                    load[j*2-1]=load[j*2]+y;
                    }
                for(int j=1;j<=(1<<i);j++)
                    num[j]=load[j];     
            }
        for(int i=1;i<=n;i++)
            printf("%d ",num[i]);
        printf("\n");
    }
    return 0;
}

转载于:https://www.cnblogs.com/qswx/p/9492532.html

内容概要:本文介绍了基于Koopman算子理论的模型预测控制(MPC)方法,用于非线性受控动力系统的状态估计预测。通过将非线性系统近似为线性系统,利用数据驱动的方式构建Koopman观测器,实现对系统动态行为的有效建模预测,并结合Matlab代码实现具体仿真案例,展示了该方法在处理复杂非线性系统中的可行性优势。文中强调了状态估计在控制系统中的关键作用,特别是面对不确定性因素时,Koopman-MPC框架能够提供更为精确的预测性能。; 适合人群:具备一定控制理论基础和Matlab编程能力的研【状态估计】非线性受控动力系统的线性预测器——Koopman模型预测MPC(Matlab代码实现)究生、科研人员及从事自动化、电气工程、机械电子等相关领域的工程师;熟悉非线性系统建模控制、对先进控制算法如MPC、状态估计感兴趣的技术人员。; 使用场景及目标:①应用于非线性系统的建模预测控制设计,如机器人、航空航天、能源系统等领域;②用于提升含不确定性因素的动力系统状态估计精度;③为研究数据驱动型控制方法提供可复现的Matlab实现方案,促进理论实际结合。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注Koopman算子的构造、观测器设计及MPC优化求解部分,同时可参考文中提及的其他相关技术(如卡尔曼滤波、深度学习等)进行横向对比研究,以深化对该方法优势局限性的认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值