POJ 1201 Intervals(差分约束)
来源:互联网 发布:网络会员制营销好处 编辑:程序博客网 时间:2024/05/16 16:16
思路:和POJ1716基本一样,只是这里区间不同元素的个数也给了而已
#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;#define inf -1e9const int maxn = 50005;vector<pair<int,int> >e[maxn];int d[maxn],cnt[maxn],inq[maxn],n;int spfa(int num){ memset(cnt,0,sizeof(cnt));memset(inq,0,sizeof(inq));for(int i = 0;i<=num;i++)d[i]=inf;inq[0]=1;queue<int>q;d[0]=0;q.push(0);while(!q.empty()){int u = q.front();q.pop();inq[u]=0;for(int i =0;i<e[u].size();i++){int v = e[u][i].first;if(d[v]<d[u]+e[u][i].second){d[v]=d[u]+e[u][i].second;if(!inq[v]){inq[v]=1;q.push(v);if(++cnt[v]>n)return false;}}}}return 1;}int main(){ int num = 0; while(scanf("%d",&n)!=EOF) { for(int i = 0;i<=num;i++) e[i].clear(); num = 0; for(int i = 1;i<=n;i++) { int u,v,w; scanf("%d%d%d",&u,&v,&w); u++,v++; num = max(num,v); e[u-1].push_back(make_pair(v,w)); } for(int i = 1;i<=num;i++) { e[0].push_back(make_pair(i,0)); e[i].push_back(make_pair(i+1,0)); e[i+1].push_back(make_pair(i,-1)); } spfa(num); printf("%d\n",d[num]); }}
0 0
- poj 1201 Intervals(差分约束)
- POJ 1201 Intervals(差分约束)
- poj 1201 Intervals (差分约束)
- poj 1201 Intervals(差分约束)
- poj 1201 Intervals(差分约束)
- POJ-1201-Intervals(差分约束)
- POJ 1201 Intervals(差分约束)
- POJ-1201 Intervals(差分约束)
- POJ 1201 Intervals (差分约束)
- POJ 1201 Intervals 差分约束+spfa
- poj 1201 Intervals 差分约束 + spfa
- POJ 1201 Intervals [差分约束]
- POJ 1201 Intervals 差分约束系统
- POJ 1201 Intervals (差分约束)
- poj 1201 Intervals 差分约束+spfa
- POJ 1201 Intervals (差分约束)
- poj-1201- Intervals-差分约束问题
- POJ 1201 Intervals 差分约束系统
- activity跳转黑屏解决
- spin_lock的变体
- 模仿淘宝聚划算倒计时js,兼容各种浏览器
- Oracle对表解锁的操作
- css中选取子元素
- POJ 1201 Intervals(差分约束)
- HTML中的<meta>标签的作用
- 滚动显示内容
- java类和对象的初始化
- 程序员疯传:13个不容错过的Java项目
- json部分操作
- Servlet-Session与Cookies
- 传送门:安卓各大图片请求库对比
- 实现省市区三级联动js插件