2018 Multi-University Training Contest 5 1007:Glad You Came

本文介绍了一种利用线段树解决特定问题的方法,包括区间更新与查询的实现细节,并采用随机数生成算法来模拟输入数据。适用于需要高效处理区间修改与查询的场景。

题意:给你一个生成数据的函数和一个包含n个初始化为0的数的序列。一共m次操作,每次通过函数生成l,r,v,将l~r之间小于v的数都变为v。最后求所有i*a[i]的异或和。
思路:直接暴力线段树写一写就能过,线段树维护一下区间最小值然后不断更新最后求答案就行。标准题解是用了一个ST表的思想,暂时还写不来。(最后的求结果可以直接在1~n数组中求,会快很多)

#include<bits/stdc++.h>
using namespace std;
#define LL long long int
#define U unsigned
#define lson rt<<1,l,m
#define rson rt<<1|1,m+1,r
int T,n,m;
LL res;
LL tre[100100<<2];
U x,y,z,w;
U RNG61()
{
    x^=x<<11;
    x^=x>>4;
    x^=x<<5;
    x^=x>>14;
    w=x^(y^z);
    x=y;
    y=z;
    z=w;
    return z;
}
void pushup(int rt)
{
    tre[rt]=min(tre[rt<<1],tre[rt<<1|1]);
}
void pushdown(int rt)
{
    if(tre[rt])
    {
        tre[rt<<1]=max(tre[rt<<1],tre[rt]);
        tre[rt<<1|1]=max(tre[rt<<1|1],tre[rt]);
        tre[rt]=0;
    }
}
void build(int rt,int l,int r)
{
    tre[rt]=0;
    if(l==r) return ;
    int m=l+r>>1;
    build(lson);
    build(rson);
    pushup(rt);
}
void update(int rt,int l,int r,int L,int R,LL val)
{
    if(tre[rt]>=val) return ;
    if(L<=l&&r<=R)
    {
        if(tre[rt]<=val) tre[rt]=val;
        return ;
    }
    pushdown(rt);
    int m=l+r>>1;
    if(L<=m) update(lson,L,R,val);
    if(R>m) update(rson,L,R,val);
    pushup(rt);
}
void query(int rt,int l,int r,int L,int R)
{
    if(l==r)
    {
        res=res^(tre[rt]*l);
        return ;
    }
    pushdown(rt);
    int m=l+r>>1;
    query(lson,L,R);
    query(rson,L,R);
}
int main()
{
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d%u%u%u",&n,&m,&x,&y,&z);
        build(1,1,n);
        while(m--)
        {
            LL X=RNG61();
            LL Y=RNG61();
            int l=min(X%n+1,Y%n+1);
            int r=max(X%n+1,Y%n+1);
            LL val=RNG61()%(1<<30);
            update(1,1,n,l,r,val);
        }
        res=0;
        query(1,1,n,1,n);
        printf("%lld\n",res);
    }
    return 0;
}
内容概要:本文介绍了一个基于MATLAB实现的无人机三维路径规划项目,采用蚁群算法(ACO)与多层感知机(MLP)相结合的混合模型(ACO-MLP)。该模型通过三维环境离散化建模,利用ACO进行全局路径搜索,并引入MLP对环境特征进行自适应学习与启发因子优化,实现路径的动态调整与多目标优化。项目解决了高维空间建模、动态障碍规避、局部最优陷阱、算法实时性及多目标权衡等关键技术难题,结合并行计算与参数自适应机制,提升了路径规划的智能性、安全性和工程适用性。文中提供了详细的模型架构、核心算法流程及MATLAB代码示例,涵盖空间建模、信息素更新、MLP训练与融合优化等关键步骤。; 适合人群:具备一定MATLAB编程基础,熟悉智能优化算法与神经网络的高校学生、科研人员及从事无人机路径规划相关工作的工程师;适合从事智能无人系统、自动驾驶、机器人导航等领域的研究人员; 使用场景及目标:①应用于复杂三维环境下的无人机路径规划,如城市物流、灾害救援、军事侦察等场景;②实现飞行安全、能耗优化、路径平滑与实时避障等多目标协同优化;③为智能无人系统的自主决策与环境适应能力提供算法支持; 阅读建议:此资源结合理论模型与MATLAB实践,建议读者在理解ACO与MLP基本原理的基础上,结合代码示例进行仿真调试,重点关注ACO-MLP融合机制、多目标优化函数设计及参数自适应策略的实现,以深入掌握混合智能算法在工程中的应用方法。
请你针对这部分修改,为避免样式改变 把样式代码也修改:.csw-h5-contest-racesSlots { padding: 12px 24px 0; .csw-opensource-h5-learningHeader { height: 24px; width: 100%; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; .csw-opensource-h5-learningHeader-title { color: rgb(0, 0, 0); font-size: 18px; font-weight: 500; line-height: 20px; } .csw-opensource-h5-learningHeader-more { color: rgb(153, 153, 153); font-size: 12px; font-weight: 400; line-height: 16px; .csw-opensource-h5-learningHeader-moreText { padding-right: 4px; } } } .csw-h5-contest-racesSlots-content { position: relative; .adm-jumbo-tabs-header { border: 0; .adm-jumbo-tabs-tab-list { padding: 0; .adm-jumbo-tabs-tab-wrapper { flex: none; padding: 0; margin-right: 16px; .adm-jumbo-tabs-tab { font-weight: 500; color: rgb(102, 102, 102); padding: 0; } .adm-jumbo-tabs-tab-active { color: rgb(0, 65, 211); } } } } .adm-jumbo-tabs-content { padding: 16px 0 12px; } .csw-h5-contest-topSummitsCarousel { width: 100%; padding-bottom: 12px; .topSummitsList { display: flex !important; justify-content: space-between; .topSummitsItem { width: 48%; position: relative; img { width: 100%; aspect-ratio: 1.785; border-radius: 4px; } .mask { width: 100%; height: 100%; position: absolute; bottom: 0; border-radius: 4px; } .maskCourse { position: absolute; top: 6px; right: 6px; display: inline-block; height: 20px; text-align: center; line-height: 20px; padding: 2px 8px 2px 8px; border-radius: 53px; background: rgba(0, 65, 211, 0.7); color: rgb(255, 255, 255); font-size: 11px; font-weight: 400; line-height: 16px; } .topSummitsItemTitle { display: inline-block; margin-top: 8px; width: 100%; color: rgb(0, 0, 0); font-weight: 400; line-height: 24px; } .itemSubTitle { font-family: HarmonyHeiTi; color: #666666; font-size: 12px; font-weight: 400; line-height: 19px; } } } .slick-dots-bottom { bottom: 3px; z-index: 9; li { height: 2px !important; width: 6px !important; } button { width: 6px !important; background: #f2f2f2 !important; opacity: 1 !important; border-radius: 30px !important; height: 2px !important; } .slick-active { width: 12px !important; border-radius: 1px !important; button { background-color: rgb(0, 65, 211) !important; width: 12px !important; } } } } .csw-racesSlots-h5-more { color: rgb(153, 153, 153); font-size: 12px; font-weight: 400; line-height: 16px; position: absolute; right: 0; top: 17px; .anticon-right { margin-left: 3px; } } .moreDomCss { position: absolute; top: 4px; right: 0; color: rgb(153, 153, 153); font-size: 12px; font-weight: 400; line-height: 16px; .moreText { padding-right: 4px; } } } }
11-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值