水水的。

给几个不等式: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\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/wangfang20/p/3199419.html

poj 1716 差分约束相关推荐

  1. POJ 3159[差分约束]

    题目链接:[http://poj.org/problem?id=3159] 题意:有N个小朋友,编号为1-N,每个小朋友将分的一些糖果,给出一些关系A.B.C .表示B最多比A多C个,然后问你盆友1和 ...

  2. POJ 1201 差分约束(集合最小元素个数)

    题意:       给你一个集合,然后有如下输入,a ,b ,c表示在范围[a,b]里面有至少有c个元素,最后问你整个集合最少多少个元素. 思路:       和HDU1384一模一样,首先这个题目可 ...

  3. POJ 3169 差分约束

    题意:      有一群老牛,给你m1组关系a ,b ,c,说明a,b之间的距离大于小于等于c,m2组关系a ,b ,c说明a ,b之间的距离大于等于c,问你是否有可行解,如果没有输出-1 ,如果有输 ...

  4. poj 1201 差分约束

    转自:優YoU  http://user.qzone.qq.com/289065406/blog/1307063918 大致题意: 给出数轴上的n个区间[ai,bi],每个区间都是连续的int区间. ...

  5. POJ 1716 Integer Intervals【差分约束】

    题意: 知道了数轴上的n个区间,每个区间都是连续的int区间,现在要在数轴上任意取一堆元素,构成一个元素集合V要求每个区间和元素集合V的交集至少有两个不同的元素 求集合V最小的元素个数. 转一分析:( ...

  6. POJ 3159 Candies(差分约束+SPAF)

    题意: 给n个小朋友分发糖果,但小朋友们之间有嫉妒心.接下来m行,每行三个数,分别表示小朋友A希望B得到的糖果不能比他多x个.要求你计算在满足所有小朋友的条件的情况下最多需要准备多少颗糖. 题目: D ...

  7. [poj 1364]King[差分约束详解(续篇)][超级源点][SPFA][Bellman-Ford]

    题意 有n个数的序列, 下标为[1.. N ], 限制条件为: 下标从 si 到 si+ni 的项求和 < 或 > ki. 一共有m个限制条件. 问是否存在满足条件的序列. 思路 转化为差 ...

  8. 【POJ - 1275】Cashier Employment(差分约束,建图)

    题干: A supermarket in Tehran is open 24 hours a day every day and needs a number of cashiers to fit i ...

  9. 【POJ - 3159】Candies (差分约束,卡SPFA)

    题干: 在幼儿园的时候,Flymouse是班上的班长.有时班主任会给班上的孩子们带来一大袋糖果,让他们分发.所有的孩子都非常喜欢糖果,经常比较他们和别人买的糖果的数量.一个孩子A可以有这样的想法,尽管 ...

最新文章

  1. 【Docker】容器的几种网络模式
  2. 科大奥锐干涉法测微小量实验的数据_光学干涉观测精确丈量宇宙 | 赛先生天文...
  3. 企业管理软件的需求描述方法
  4. python编程入门书-编程小白的第一本 Python 入门书
  5. 用户案例 - 3Cs
  6. linux 安装mysql两种方式
  7. python filter()函数(与map()、reduce()函数用法类似,根据给定函数判断列表元素是True还是False,返回剔除元素后的元素列表)
  8. glassfish_重写到边缘–充分利用它! 在GlassFish上!
  9. Dockerfile中CMD和ENTRYPOINT的区别
  10. 第一个mybatis项目
  11. linux下实用小脚本,linux下shell常用脚本大集合啦
  12. 计算几何【套模板,推荐模板】 Separating Pebbles UVALive - 7461
  13. 什么是海外DDoS高防?
  14. [Tips]Ubuntu20.04域名解析失败或网速很慢
  15. 手把手带你从0开始搭建个人网站,小白可懂的保姆级教程
  16. 线性回归基础相关公式
  17. Linux与Android安全差异
  18. python测量血压_利用TensorFlow2.0为胆固醇、血脂、血压数据构建时序深度学习模型(python完整源代码)...
  19. NSGAII快速非支配遗传算法二代学习笔记1
  20. C# IEnumerator和IEnumerable的区别

热门文章

  1. [YTU]_2624( B 结构体--统计投票)
  2. 从传递函数到差分方程的转换
  3. Set Matrix Zeroes
  4. gevent.joinall()开启协程
  5. operator.itermgetter() (Python)
  6. sklearn中的fit_transform和transform以及什么时候使用
  7. 机器学习安然数据集分析报告
  8. 吴裕雄--天生自然 高等数学学习:多元函数的概念
  9. 【HDOJ图论题集】【转】
  10. sublime text 3设置快捷键让html文件在浏览器打开