洛谷3372——分块(add标记)

洛谷3372——分块(add标记)

原题传送门
题目是线段树,属于区间更新的内容,但是分块也能过。
已ac代码:

# include <iostream>
# include <algorithm>
# include <cstdio>
# include <cmath>
using namespace std;

const int maxn = 1e5 + 10;
typedef long long ll;

int a[maxn], l[maxn], r[maxn], pos[maxn];
ll sum[maxn] = {
    0 }, add[maxn] = {
    0 };
ll block, num, ans;

void bulid(int n) {
   
	block = (int)sqrt(n);
	num = n / block;
	if (n%block) {
   
		num++;
	}
	for (int i = 1; i <= n; i++) {
   
		pos[i] = (i-1
### 频域分块LMS算法(FDAF)工作原理 频域分块最小均方误差(Frequency-Domain Block LMS, FDAF)是一种用于自适应滤波的技术,它通过将时间序列数据转换到频率域来进行处理。这种方法能够显著减少计算复杂度并提高收敛速度。 #### 数据预处理与初始化 在实施FDAF之前,需先定义一些参数,比如滤波器阶数\( L \),以及FFT窗口大小N,后者通常是前者的整数倍。初始状态下,权重向量被设为零或很小的随机值[^1]。 #### 输入信号分割成帧 输入信号按照设定好的重叠比例划分成多个短时片段即“帧”。每一帧的数据长度等于FFT窗口尺寸N。为了保持连续性和稳定性,在相邻两帧间保留一定数量样本作为重叠部分[^2]。 #### 转换至频域执行更新操作 对于每一个新到来的帧,利用快速傅立叶变换(FFT)将其映射到复数值表示形式下的离散谱线上;同样地对待估计响应也做相同处理得到其对应的频谱表达式。接着基于这些频域表示的结果运用标准LMS准则调整权系数: \[ W(k+1)=W(k)+\mu X^{*}(k)\cdot E(k), k=0,...,\frac{N}{2}-1 \] 其中 \(X\) 表示当前时刻接收到的新的一组采样点经过FFT后的结果,而 \(E\) 则代表预测误差矢量,μ 是步长因子控制着学习速率[^3]。 ```matlab % MATLAB伪代码展示如何实现上述过程的一部分功能 function [y,e,w]=fdaflms(x,d,M,mu,Nfft) % 初始化变量... for n=M:length(x)-M+1 % 获取新的输入/期望输出对 xn=x(n-(M-1):n); % 执行FFT变换并将实部虚部分开存储以便后续运算 X=[real(X); imag(X)]; % 计算预测输出 y 和误差 e ... % 更新权重 w 使用上面提到过的公式 % 将更新后的w逆变换成时域版本供下一轮迭代使用 w_ifft = ifft(w_fft); end end ``` #### 反馈机制与性能评估 每次完成一次完整的周期后,都会重新计算总的平方误差,并据此判断是否达到了预期效果或是需要继续优化直至满足特定条件为止。此外还可以引入其他指标如信噪比(SNR)增益等来衡量系统的整体表现情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值