BZOJ 2115: [Wc2011] Xor

本文介绍了一种求解无向图中从节点1到节点n的最大异或和路径的算法,通过DFS寻找简单路径及环,并利用高斯消元法优化组合路径,最终得到最大异或和。

题目大意:给定一个无向图,每条边上有边权,求一条1到n的路径,使路径上权值异或和最大


首先一条路径的异或和可以化为一条1到n的简单路径和一些简单环的异或和
先DFS求出任意一条1到n的简单路径以及图中所有线性无关的环
然后利用这些环和1-n的简单路径凑出最大的异或和就可以了

#include<bits/stdc++.h>
using namespace std;
const int N=100010;
long long a[N*10],d[N];
int head[N],tot,cir=0,vis[N];

struct Edge{
    int to,next;
    long long w;
}e[N*2];

void init(){
    tot=0;
    memset(head,-1,sizeof(head));
}

void addedge(int from,int to,long long w){
    e[tot]=(Edge){to,head[from],w};
    head[from]=tot++;
}

void dfs(int u){
    vis[u]=1;
    for(int i=head[u];i!=-1;i=e[i].next){
        int v=e[i].to;
        if(vis[v]==1)
            a[++cir]=d[u]^d[v]^e[i].w;
        else{
            d[v]=d[u]^e[i].w;
            dfs(v);
        }
    }
}

int TOT;
void Gauss(int n){
    TOT=1;
    for(int i=60;i>=0;i--){
        for(int j=TOT;j<=n;j++)
            if(a[j]&(1LL<<i)){
                swap(a[TOT],a[j]);
                for(int k=1;k<=n;k++)
                    if(k!=TOT&&(a[k]&(1LL<<i)))
                        a[k]^=a[TOT];
                TOT++;
                break;
            }
    }
    --TOT;
}

int main(){
    int n,m,u,v;
    long long w;
    scanf("%d%d",&n,&m);
    init();
    for(int i=1;i<=m;i++){
        scanf("%d%d%lld",&u,&v,&w);
        addedge(u,v,w);
        addedge(v,u,w);
    }
    d[1]=0,dfs(1);
    Gauss(cir);
    long long ans=d[n];
    for(int i=1;i<=TOT;i++)
        ans=max(ans,ans^a[i]);
    printf("%lld\n",ans);
    return 0;
}
基于分布式模型预测控制的多个固定翼无人机一致性控制(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制的多个固定翼无人机一致性控制”展开,采用Matlab代码实现相关算法,属于顶级EI期刊的复现研究成果。文中重点研究了分布式模型预测控制(DMPC)在多无人机系统中的一致性控制问题,通过构建固定翼无人机的动力学模型,结合分布式协同控制策略,实现多无人机在复杂环境下的轨迹一致性和稳定协同飞行。研究涵盖了控制算法设计、系统建模、优化求解及仿真验证全过程,并提供了完整的Matlab代码支持,便于读者复现实验结果。; 适合人群:具备自动控制、无人机系统或优化算法基础,从事科研或工程应用的研究生、科研人员及自动化、航空航天领域的研发工程师;熟悉Matlab编程和基本控制理论者更佳; 使用场景及目标:①用于多无人机协同控制系统的算法研究与仿真验证;②支撑科研论文复现、毕业设计或项目开发;③掌握分布式模型预测控制在实际系统中的应用方法,提升对多智能体协同控制的理解与实践能力; 阅读建议:建议结合提供的Matlab代码逐模块分析,重点关注DMPC算法的构建流程、约束处理方式及一致性协议的设计逻辑,同时可拓展学习文中提及的路径规划、编队控制等相关技术,以深化对无人机集群控制的整体认知。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值