https://www.lydsy.com/JudgeOnline/problem.php?id=3040

题意rt,使用pb_ds的堆解决本问题。

所以其实就是mark一下的。

不过有人确认过官方不能使用“using namespace __gnu_pbds;”

#include<cmath>
#include<queue>
#include<cstdio>
#include<cctype>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<ext/pb_ds/priority_queue.hpp>
using namespace std;
typedef long long ll;
typedef pair<ll,int>pii;
typedef __gnu_pbds::priority_queue<pii,greater<pii>,__gnu_pbds::pairing_heap_tag> heap;
#define fi first
#define se second
const int N=1e6+5;
const int M=1e7+5;
const ll INF=1e18;
inline int read(){int X=0,w=0;char ch=0;while(!isdigit(ch)){w|=ch=='-';ch=getchar();}while(isdigit(ch))X=(X<<3)+(X<<1)+(ch^48),ch=getchar();return w?-X:X;
}
struct node{int to,nxt;ll w;
}e[M];
int n,m,c,cnt,head[N];
heap q;
heap::point_iterator id[N];
inline void add(int u,int v,ll w){e[++cnt].to=v;e[cnt].w=w;e[cnt].nxt=head[u];head[u]=cnt;
}
ll dis[N];
void dij(int s){for(int i=1;i<=n;i++)dis[i]=INF;dis[s]=0;id[s]=q.push(pii(0,s));while(!q.empty()){int u=q.top().se;q.pop();for(int i=head[u];i;i=e[i].nxt){int v=e[i].to;ll w=e[i].w;if(dis[v]>dis[u]+w){dis[v]=dis[u]+w;if(id[v]!=0)q.modify(id[v],pii(dis[v],v));else id[v]=q.push(pii(dis[v],v));}}}return;
}
int main(){n=read(),m=read();int t=read(),rxa=read(),rxc=read(),rya=read(),ryc=read(),rp=read();int x=0,y=0;for(int i=1;i<=t;i++){x=((ll)x*rxa+rxc)%rp;y=((ll)y*rya+ryc)%rp;int u=min(x%n+1,y%n+1),v=max(y%n+1,y%n+1);add(u,v,100000000-100*u);}for(int i=t+1;i<=m;i++){int u=read(),v=read(),w=read();add(u,v,w);}dij(1);printf("%lld\n",dis[n]);return 0;
}

+++++++++++++++++++++++++++++++++++++++++++

+本文作者:luyouqi233。               +

+欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+

+++++++++++++++++++++++++++++++++++++++++++

转载于:https://www.cnblogs.com/luyouqi233/p/9102882.html

BZOJ3040:最短路——题解相关推荐

  1. 洛谷 P2384 最短路题解

    题目背景 狗哥做烂了最短路,突然机智的考了Bosh一道,没想到把Bosh考住了...你能帮Bosh解决吗? 他会给你100000000000000000000000000000000000%10金币w ...

  2. LOJ6354 洛谷4366:[Code+#4]最短路——题解

    https://loj.ac/problem/6354 https://www.luogu.org/problemnew/show/P4366 题面见上面. 这题很妙,且可能是我傻,感觉这题不太好想. ...

  3. BZOJ1922 SDOI2010 大陆争霸 最短路

    题意:给定一个图,图中有保护关系(u,v)表示到v之前必须先到一次u,求从1到N的最短路 题解: 定义d1[i]为直接到达i的最短距离,这个的更新和普通的Dijkstra一样 定义d2[i]为解除i的 ...

  4. BZOJ 2763[JLOI2011]飞行路线 - 最短路

    描述 给出一个无向图, 出发地$s$和目的地$t$, 让你求出不计算 任意$K$条边权值 的最短路 题解 刚开始我是用记忆化搜索记录状态$F_{i, k}$, 表示从出发地出发 到第$i$个城市, 还 ...

  5. 2125: 最短路/3047: Freda的传呼机

    题目链接 题目大意:静态仙人掌最短路 题解:丢链接跑-- 我的收获:233333 //From popoqqq #include <map> #include <vector> ...

  6. linux 运行msi文件是什么意思,查看Msi文件内容

    Baseadapter与Simpleadapter之争 作者:andyrat,联系方式:andyrat@qq.com c#字符串操作方法实例 # 字符串是使用 string 关键字声明的一个字符数组. ...

  7. 浙江理工大学2019年5月赛

    Problem A 24点 比赛地址:http://47.96.116.66/problem.php?cid=1275&pid=0 补题地址:http://47.96.116.66/probl ...

  8. 【POJ】2387 Til the Cows Come Home

    题目链接:http://poj.org/problem?id=2387 题意:求从1到n的最短路 题解:板子题.spfa. 代码: 1 #include<iostream> 2 #incl ...

  9. Moving On Gym - 102222F

    Moving On Gym - 102222F 题意: 有 n 个城市,q 次询问. 给出每个城市的危险度 r 和 城市的邻接矩阵. 每次询问给出 u.v.w,求从 u 到 v 且不经过其他危险度超过 ...

最新文章

  1. 你玩《2048》能拿多少分?AI的最高分纪录:401912
  2. OmniNet:基于环视鱼眼镜头的多任务视觉感知系统
  3. Html/CSS博文目录
  4. 编写高质量JavaScript代码的基本技巧
  5. 行为模式之Iterator模式
  6. JS设置每日定时任务
  7. wxWidgets:wxHashTable类用法
  8. jzoj4282-[NOIP2015模拟10.29B组]平方数游戏【构造】
  9. axios的content-type是自动设置的吗?
  10. VBA 自制 TreeView 树视图,附加控件 TreeView 最优替代方案
  11. Git的安装与使用教程
  12. 由外而内看敏捷软件开发(上)——从业务视角看敏捷
  13. iphone通用设置里显示UDID(tweak)
  14. 多微博账号同时发微博的插件--fawave
  15. Programming in lua 中文版
  16. 怎么用计算机给u盘加密文件,win10电脑怎么给U盘文件夹加密
  17. 介绍下微信刷票被禁了怎么办及微信拉票怎么人工买票的方法
  18. 如何在 Linux 中查找一个文件
  19. 计算机无法检测到键盘,电脑无法识别键盘
  20. php使用fleaphp框架做开发。

热门文章

  1. c语言程序位置式pid算法,增量式与位置式PID算法(C语言实现与电机控制项目)...
  2. 计算分数数组中去掉最低分的平均分,并打印
  3. java语言特点 字符串不变_面试必问:Java中String类型为什么设计成不可变的?
  4. org.hibernate.LazyInitializationException: could not initialize proxy - no Session
  5. Android开发(4) | 系统权限、MediaPlayer类 和 VideoView类 的应用——播放多媒体文件
  6. IO模型 :阻塞IO、非阻塞IO、信号驱动IO、异步IO、多路复用IO
  7. 网易校园招聘历年经典面试题汇总:C++研发岗
  8. leetcode329. 矩阵中的最长递增路径
  9. C++:12---运算符重载
  10. 将std::string字符串格式的数字转换为int类型的数字