hdu 1384 Intervals
来源:互联网 发布:python日期格式 编辑:程序博客网 时间:2024/06/15 11:05
差分约束的应用。
#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<queue>#include<vector>using namespace std;struct pi{ int no; int to; int cost; int next;}pp1[2000005];int head[50005];pi pp;vector<pi>g[50005];int vis[50005];int dis[50005];queue<int >q;int tot;void add(int a,int b,int c){ pp1[tot].no=a; pp1[tot].to=b; pp1[tot].cost=c; pp1[tot].next=head[a]; head[a]=tot++;}int main(){ int i,j,n,m,s,mm,k,min; while(cin>>n) { tot=0; memset(head,-1,sizeof(head)); mm=0; min=10000000; for(i=0;i<n;i++) { scanf("%d%d%d",&m,&s,&j); add(m-1,s,j); if(mm<s) mm=s; if(m-1<min) min=m-1; } for(i=min;i<=mm-1;i++) { add(i,i+1,0); add(i+1,i,-1); } for(i=min;i<=mm;i++) { dis[i]=-10000000; vis[i]=0; } dis[min]=0; vis[min]=1; q.push(min); while(!q.empty()) { k=q.front(); q.pop(); vis[k]=0; for(i=head[k];i!=-1;i=pp1[i].next) { if(dis[pp1[i].to]<dis[k]+pp1[i].cost) { dis[pp1[i].to]=dis[k]+pp1[i].cost; if(!vis[pp1[i].to]){ q.push(pp1[i].to); vis[pp1[i].to]=1; } } } } printf("%d\n",dis[mm]); } return 0;}
0 0
- HDU 1384 Intervals
- HDU 1384 Intervals
- hdu 1384 Intervals
- hdu acm 1384 Intervals
- hdu 1384 Intervals
- POJ-1201/HDU-1384 Intervals
- hdu 1384 Intervals 差分约束
- HDU 1384 Intervals(差分约束)
- HDU 1384 Intervals 差分约束
- 【HDU】1384 Intervals 差分约束系统
- HDU 1384 Intervals (差分约束)
- hdu 1384 Intervals (差分约束)
- hdu 1384 Intervals 差分约束系统
- hdu 1384 Intervals 差分约束 + Bellman(附SPAF)
- POJ 1201 && HDU 1384 Intervals(差分约束系统)
- HDU 1384 && POJ 1201--Intervals 【基础差分约束】
- POJ 1201 && HDU 1384Intervals 差分约束系统
- POJ 1201/hdu 1384 Intervals【差分约束+SPFA】
- 字符串转数字atoi的重新编写及注意事项
- 使用JavaPns向APNs推送通知
- leetcode第一刷_Merge k Sorted Lists
- Plus One
- 【Yii】组件和事件行为管理
- hdu 1384 Intervals
- jFreeChart展示柱状图
- 通过ArcCatalog发布服务时出错
- 如何在.NET程序中引用KindEditor(HTML在线编辑器)
- 动画
- 【设计模式】总结篇 对比中找联系
- 通过strerror获取详细的错误信息
- 【Yii】表单模型和验证
- Java采用JNI调用VC++生成的dll(Java与C++交互)