构造题记录

思路:本题要求构造一个a和b数组相加为不递减序列,并且b数组的极差为最小的b数组。

可以通过遍历a数组并且每次更新最大值,并使得b数组为这个·最大值和当前a值的差。

复制代码
#include <bits/stdc++.h>
using namespace std;
#define int long long 
int a[200010];
signed main()
{
    int n;
    cin>>n;
    for (int i=1;i<=n;i++){
        cin>>a[i];
    }
    int maxn=a[1];
    for (int i=1;i<=n;i++){
        maxn=max(maxn,a[i]);
        cout<<maxn-a[i]<<" ";
    }
    
    
}
相关推荐
Hello.Reader13 小时前
算法基础(九)——循环不变式如何证明一个算法是正确的
java·开发语言·算法
wuweijianlove13 小时前
算法稳定性分析中的输入扰动建模的技术7
算法
MATLAB代码顾问13 小时前
粒子群优化算法(PSO)原理与Python高级实现
开发语言·python·算法
Epiphany.55613 小时前
连通块的遍历
c++·算法·蓝桥杯
博界IT精灵13 小时前
图的存储结构(哈喜老师版本)
数据结构·考研
alxraves13 小时前
超声诊断图像的关键算法概述
算法·安全·健康医疗·制造·信号处理
mask哥13 小时前
15种算法模式java实现详解
java·算法·力扣
若尘79713 小时前
数学idea的重构
算法·职场和发展·机器人
思茂信息13 小时前
CST可重构雷达吸波器设计与仿真
网络·算法·平面·智能手机·重构·cst·电磁仿
游乐码13 小时前
c#插入排序
数据结构·算法·排序算法