差分约束系统,维护前缀和,根据式子d[ b ] < = d[ e + 1 ] - t,可以看出要连e和b - 1,但占用了超级源点0,所以要把区间向后移,这样就可以用超级源点0来保持图的连通性(也可

以用n + 1作为超级源点,就不用了后移了)

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define INF 2139062143
#define maxnn 50010
#define maxm 301000
using namespace std;
int n,m,maxnum=-,minnum=INF;
struct node
{
int u,v,w,nex;
}edge[maxm];
int head[maxnn],cnt=;
int dis[maxnn];
bool vis[maxnn];
inline int read()
{
int x=;
bool f=;
char c=getchar();
for(; !isdigit(c); c=getchar()) if(c=='-') f=;
for(; isdigit(c); c=getchar()) x=(x<<)+(x<<)+c-'';
if(f) return x;
return -x;
}
inline void add(int x,int y,int z)
{
cnt++;
edge[cnt].u=x;
edge[cnt].v=y;
edge[cnt].w=z;
edge[cnt].nex=head[x];
head[x]=cnt;
}
inline void spfa(int s)
{
memset(dis,,sizeof(dis));
queue<int> q;
q.push(s);
vis[s]=;dis[s]=;
while(!q.empty())
{
int now=q.front();
q.pop();
vis[now]=;
for(int i=head[now];i!=-;i=edge[i].nex)
{
int to=edge[i].v;
if(dis[now]+edge[i].w<dis[to])
{
dis[to]=dis[now]+edge[i].w;
if(!vis[to])
{
vis[to]=;
q.push(to);
}
}
}
}
}
int main()
{
int maxn=-;
memset(head,-,sizeof(head));
n=read();m=read();
n++;
for(int i=;i<=m;i++)
{
int b,e,t;
b=read();e=read();t=read();
b++;e++;
add(e,b-,-t); //d[b]<=d[e+1]-t
maxn=max(maxn,e);
}
for(int i=;i<=maxn;i++)
{
add(i-,i,);//d[i]<=d[i-1]+1
add(i,i-,);//d[i-1]<=d[i]
}
for(int i=;i<=maxn;i++)add(,i,);
spfa();
int minn=INF;
for(int i=;i<=n;i++)minn=min(minn,dis[i]);
printf("%d",dis[maxn]-minn);
return ;
}
请各位大佬斧正(反正我不认识斧正是什么意思)

最新文章

  1. 编写一个基本的连接池来实现连接的复用&amp;一些工程细节上的优化
  2. 工作中用到的oracle字符串分割整理
  3. 错误:Implicit super constructor xx() is undefined for default constructor. Must define an explicit constructor
  4. shell的历史
  5. CentOS 关闭防火墙和selinux
  6. Java泛型:类型擦除
  7. 面向对象程序设计-C++_课时30运算符重载——基本规则_课时31运算符重载——原型_课时32运算符重载——赋值_课时33运算符重载——类型转换
  8. pthread_t定义结构
  9. TCP连接的建立与终止
  10. swift 动态获取label宽度或高度
  11. Classy(排序)
  12. yii2数据条件查询-where专题
  13. CMCC验证绕过POC
  14. ambari安装集群下安装kafka manager
  15. Linux忘记root密码 单用户模式 及启动加密
  16. python---自己实现双向链表常用功能
  17. XCube和X组件的入门级使用教程
  18. Python进程-理论
  19. httpclient 连接参数
  20. 编译安装pgbouncer-checking for OpenSSL... configure: error: not found

热门文章

  1. 【转】ISE——完整工程的建立
  2. AESUtil
  3. docker swarm yaml
  4. dedecms更换默认编辑器为百度编辑器ueditor
  5. kube-controller-manager日志报watch of *v1beta1.Event ended with: The resourceVersion for the provided watch is too old
  6. react native报错处理com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process
  7. java-java技术链接
  8. 接口测试 dubbo 接口测试技术
  9. 基于JFinal中搭建wopi协议支撑办法
  10. ViCANdo新版本发布(PART2)| XCP集成