zoukankan      html  css  js  c++  java
  • poj 1716 差分约束

    水水的。

    给几个不等式:dis[b]-dis[a]>=2;  0<=dis[i+1]-dis[i]<=1;

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    #define inf 1000000000
    #define Maxn 10110
    #define Maxm 160000
    using namespace std;
    int index[Maxn],dis[Maxn],vi[Maxn],e,n,Que[2000100];
    struct Edge{
        int to,next,val;
    }edge[Maxm];
    void init()
    {
        memset(vi,0,sizeof(vi));
        memset(index,-1,sizeof(index));
        for(int i=0;i<Maxn;i++)
            dis[i]=-inf;
        e=0;
    }
    void addedge(int from,int to,int val)
    {
        edge[e].to=to;
        edge[e].val=val;
        edge[e].next=index[from];
        index[from]=e++;
    }
    int spfa(int u,int ans)
    {
        int i,j,temp,now,head,rear;
        head=rear=0;
        dis[u]=0;
        Que[head++]=u;
        while(head!=rear)
        {
            temp=Que[rear++];
            //cout<<temp<<endl;
            vi[temp]=0;
            for(i=index[temp];i!=-1;i=edge[i].next)
            {
                now=edge[i].to;
                if(dis[temp]+edge[i].val>dis[now])
                {
                    dis[now]=dis[temp]+edge[i].val;
                    if(!vi[now])
                        Que[head++]=now;
                    vi[now]=1;
                }
            }
        }
        return dis[ans];
    }
    int main()
    {
        int m,i,j,a,b,c;
        while(scanf("%d",&n)!=EOF)
        {
        init();
        int maxn=0;
        int minn=inf;
        for(i=1;i<=n;i++)
        {
            scanf("%d%d",&a,&b);
            maxn=max(maxn,b+1);
            minn=min(minn,a);
            addedge(a,b+1,2);
        }
        for(i=minn;i<=maxn;i++)
        {
            addedge(i+1,i,-1);
            addedge(i,i+1,0);
        }
        int ans;
        ans=spfa(minn,maxn);
        printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    Chapter 2: 随机变量
    数据集
    Chapter 1: 随机事件及其概率
    概率论与数理统计每周教学内容及作业
    概率论与数理统计教学内容
    Entity Framework search sequnce
    Runtime Complexity of .NET Generic Collection
    update the UI property cross thread
    打通技术的任督二脉
    windbg symbol path
  • 原文地址:https://www.cnblogs.com/wangfang20/p/3199419.html
Copyright © 2011-2022 走看看