厌火车头不厌氧求助
  • 板块UVA1723 Intervals
  • 楼主___A__
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/3/19 12:38
  • 上次更新2024/3/19 16:54:32
查看原帖
厌火车头不厌氧求助
275860
___A__楼主2024/3/19 12:38

只开氧AC 带上火车头RE

#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize(3)
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
#pragma GCC optimize(2)
const int N=1e6+5;
int n,dis[N],vis[N],T;
struct graph{
    int v,w;
};
vector<graph>g[N];
int spfa(){
    queue<int>q;
    q.push(0);
    for(int i=1;i<N;i++){
        dis[i]=-1,vis[i]=0;
    }
    while(!q.empty()){
        int u=q.front();
        q.pop(),vis[u]=0;
        for(auto [v,w]:g[u]){
            if(dis[v]<dis[u]+w){
                dis[v]=dis[u]+w;
                if(!vis[v]){
                    q.push(v),vis[v]=1;
                }
            }
        }
    }
    int ret=0;
    for(int i=1;i<N;i++){
        ret=max(ret,dis[i]);
    }
    return ret;
}
void solve(){
    cin>>n;
    for(int i=0;i<N;i++){
        g[i].clear();
    }
    for(int u,v,w;n--;){
        cin>>u>>v>>w,u+=2,v+=2;
        g[u-1].push_back({v,w});
    }
    for(int i=1;i<N;i++){
        g[0].push_back({i,0});
    }
    for(int i=2;i<N;i++){//dis[i]>=dis[i-1] dis[i]-dis[i-1]<=1 dis[i-1]+1>=dis[i] dis[i-1]>=dis[i]-1
        g[i].push_back({i-1,-1});
    }
    for(int i=2;i<N;i++){
        g[i-1].push_back({i,0});
    }
    cout<<spfa()<<'\n';
}
int main(){
    cin>>T;
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    while(T--){
        solve();
        if(T){
            cout<<'\n';
        }
    }
}
2024/3/19 12:38
加载中...