首页 > 其他分享 >P1772 [ZJOI2006] 物流运输

P1772 [ZJOI2006] 物流运输

时间:2022-09-29 09:23:02浏览次数:46  
标签:cnt int memset long 1111 物流 P1772 ZJOI2006 dis

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e8;
class solve{
	public:
		int n,m,k,E;
		priority_queue < pair < int , int > > q;
		struct node{
			int nt,to,w;
		}e[1111];
		long long f[1111];
		int h[1111];
		int cnt,times[1111][1111];
		int vis[1111];
		int dis[1111];
        int v[1111];
		long long cost[1111][1111];
		inline void add(int x,int y,int w){e[++cnt]=(node){h[x],y,w};h[x]=cnt;}
		//求最短路 
		int dijkstra(){
			memset(dis,0x3f3f3f3f,sizeof(dis));
            memset(v,0,sizeof(v));
			dis[1]=0;
			q.push(make_pair(0,1));
			while(!q.empty()){
				int u=q.top().second;
				q.pop();
				if(v[u])continue;
                v[u]=1;
				for(int i=h[u]; i; i=e[i].nt){
					int v=e[i].to;
					if(vis[v])continue;
					if(dis[v]>dis[u]+e[i].w)
					{
						dis[v]=dis[u]+e[i].w;
						q.push(make_pair(-dis[v],v));
					}
				}
			}
			return dis[m];
		}
		void main()
		{
			memset(times,0,sizeof(times));
			cnt=0;
			scanf("%d%d%d%d",&n,&m,&k,&E);
			for(int i=1,x,y,w; i<=E; i++){
				scanf("%d%d%d",&x,&y,&w);
				add(x,y,w);add(y,x,w);
			}
			int d;
			scanf("%d",&d);
			//记录每一个码头在j天的状态 
			for(int i=1,x,y; i<=d; i++){
				int p;
				scanf("%d%d%d",&p,&x,&y);
				for(int j=x; j<=y; j++)
					times[p][j]=1;
			}
			//计算第i天到底j天是只用同一条路径的路径长度 
			for(int i=1; i<=n; i++){
				for(int j=1; j<=n; j++){
					memset(vis,0,sizeof(vis));
					for(int Y=i; Y<=j; Y++)
					for(int X=1; X<=m; X++)
							if(times[X][Y]==1)vis[X]=2;
							//第i天到第j天都不可以用的码头要记录下来 
					cost[i][j]=dijkstra();
				}
			}
			memset(f,0x7ffff,sizeof(f));
			for(int i=1; i<=n; i++){
				f[i]=(long long)cost[1][i]*i;
				for(int j=i-1; j>=0; j--){
					f[i]=min(f[i],f[j]+(long long)cost[j+1][i]*(i-j)+k);
					//dp方程,前i天的最小值为前j天的最小值加上j+1至i天用同一个路径的值加上变换的额外成本 
				}
			}
			cout<<f[n]<<endl;
		}
}x;
int main()
{
	x.main();
}

标签:cnt,int,memset,long,1111,物流,P1772,ZJOI2006,dis
From: https://www.cnblogs.com/dadidididi/p/16740261.html

相关文章

  • 做题记录整理dp15 P1772. [ZJOI2006] 物流运输(2022/9/28)
    P1772.[ZJOI2006]物流运输图论+dp首先看数据范围这么小,其实就可以猜到很可能是先把i到j天的最短路都求出来然后就会发现dp方程很简单了dp[i]=min(dp[j]+最短路[j+1][......
  • 基于遗传算法的物流管理系统
    原型是车辆路径规划问题(VRP)使用SpringBoot+ElementUI+MySQL搭建网站。登录页面:有三个选项,对应三种用户登录,会进入不同页面。修改密码页面:可以修改多项用户信息,和登......
  • luogu P1772 [ZJOI2006] 物流运输 (dp, 最短路)
    https://www.luogu.com.cn/problem/P1772虽然是图论背景,但是1-n天之间是线性关系。没法贪心决策,考虑dp:我本来写的dp是i-1转移到i,但是这样没法处理哪一天能走哪些最短路......
  • 淘宝API接口系列,获取购买到的商品订单列表,卖出的商品订单列表,订单详情,订单物流,买家信
    custom自定义API操作buyer_order_list获取购买到的商品订单列表buyer_order_detail获取购买到的商品订单详情buyer_order_express获取购买到的商品订单物流buyer_addr......
  • 物流和商流
    1、物流和商流之间的联系1)它们都属于流通领域,是商品流通的两种不同形式,在功能上互相补充。通常是先发生商流后发生物流,在商流完成以后再进行物流。2)它们都是从......
  • 京东物流注册流程
    京东物流流程注册账号,创建物流应用(需要提交《物流应用系统对接申请》)保存AppKey和AppSecret,并配置回调接口调用接口获取codehttps://open-oauth.jd.com/oauth2......
  • 快速集成快递物流轨迹查询功能
    前沿近年来,随着互联网的发展,各个行业都在用新的技术、新的观念为自己的发展打下坚实的基础,如今网络已经渗透到了人们的日常生活中,网上购物成了大家喜爱的方式。各类商城、......
  • 电商平台快递物流解决方案
    ​前沿    从事电商行业几年,发表些个人想法,欢迎大家拍砖。电商平台的三流(商流、资金流、物流)是至关重要的三环,缺少了任何一环,平台就没办法玩下去。而其中的物流是......
  • 快递物流类API推荐
    最近在网上看到了一些很不错的快递物流类的API,今天在这里整理出来分享给大家~阿里云全国快递物流查询-快递查询接口,可查询快递物流信息近1000+家全国快递查询API,单号自......
  • 5分钟搭建1个智慧物流数据可视化大屏
    广义上,智慧物流是指通过智能软硬件、物联网、大数据等智慧化技术手段,实现物流各环节精细化、动态化、可视化管理,它以信息技术为支撑,在物流运输、仓库、包装、装卸搬运、流......