BZOJ 3158&3275

WA了无数次后,发现自己的板子挂了。。

#include<bits/stdc++.h>
#define N 3010
#define M 1001000
using namespace std;
int beg[N],cop[N],dis[N];
long long a[N],b[N];
int to[M],ll[M],nex[M];
int n,len=1,S,T;
long long ans;
queue<int> q;
int gcd(int a,int b){
    return !b?a:gcd(b,a%b);
}
inline void Add(int a,int b,int c){
    nex[++len]=cop[a],cop[a]=len,to[len]=b,ll[len]=c;
    nex[++len]=cop[b],cop[b]=len,to[len]=a,ll[len]=0;
}
int dfs(int p,int fr){
    if(p==T) return fr;
    int tot=0;
    for(int &i=beg[p];i;i=nex[i]){
        if(dis[to[i]]==dis[p]+1&&ll[i]&&fr){
            int f=dfs(to[i],min(fr,ll[i]));
            ll[i]-=f;
            ll[i^1]+=f;
            tot+=f;
            fr-=f;
        }
    }
    return tot;
}
inline bool bfs(){
    q.push(S);
    memset(dis,-1,sizeof(dis));
    dis[S]=0;
    while(!q.empty()){
        int st=q.front();q.pop();
        for(int i=cop[st];i;i=nex[i]){
            if(dis[to[i]]==-1&&ll[i]){
                q.push(to[i]);
                dis[to[i]]=dis[st]+1;
            }
        }
    }
    return dis[T]!=-1;
}
int main(){
    scanf("%d",&n);
    S=n+1,T=n+2;
    for(int i=1;i<=n;i++) scanf("%lld",&a[i]);
    for(int i=1;i<=n;i++) scanf("%lld",&b[i]);
    for(int i=1;i<=n;i++){
        if(a[i]&1) Add(S,i,b[i]);
        else Add(i,T,b[i]);
        ans+=b[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            long long w=sqrt(a[i]*a[i]+a[j]*a[j]);
            if(i!=j&&w*w==a[i]*a[i]+a[j]*a[j]&&gcd(a[i],a[j])==1&&a[i]%2&&a[j]%2==0){
                Add(i,j,1008610086);
            }
        }
    }
    int f;
    while(bfs()){
        for(int i=1;i<=T;i++) beg[i]=cop[i];
        while((f=dfs(S,1008610086))!=0) ans-=f;
    }
    printf("%lld\n",ans);
    return 0;
}

内容概要:本文档详细介绍了如何在MATLAB环境下实现CNN-GRU(卷积门控循环单元)混合模型的多输入单输出回归预测。项目旨在通过融合CNN的局部特征提取能力和GRU的时序依赖捕捉能力,解决传统序列模型在处理非线性、高维、多输入特征数据时的局限性。文档涵盖了项目背景、目标、挑战及其解决方案,强调了模型的轻量化、高效性和可视化全流程追踪等特点。此外,还提供了具体的应用领域,如智能电网负荷预测、金融时间序列建模等,并附有详细的代码示例,包括数据加载与预处理、网络结构定义、训练选项设置、模型训练与预测以及结果可视化等步骤。; 适合人群:对深度学习有一定了解,特别是对时间序列预测感兴趣的科研人员或工程师。; 使用场景及目标:①需要处理多输入单输出的非线性回归预测任务;②希望在MATLAB平台上快速实现并优化深度学习模型;③寻求一种高效、轻量且具有良好泛化能力的预测模型应用于实际场景中,如智能电网、金融分析、交通流量预测等领域。; 阅读建议:由于文档内容涉及较多的技术细节和代码实现,建议读者先熟悉CNN和GRU的基本概念,同时握MATLAB的基础操作。在阅读过程中,可以结合提供的代码示例进行实践操作,以便更好地理解和握CNN-GRU混合模型的构建与应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值