题面

https://vijos.org/p/1404

题解

#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#define N 90500
#define ri register int
#define LL long long
using namespace std;int n,s,e,l,r,c;
LL dis[N];
vector<int> to[N],len[N];
bool vis[N];inline void add_edge(int z,int y,int x) {to[z].push_back(y); len[z].push_back(x);
}struct node {int u; LL d;bool operator < (const node &rhs) const {return d>rhs.d;}
};
priority_queue<node> q;LL dij() {memset(dis,0x3f,sizeof(dis));dis[s]=0;q.push((node){s,0});while (!q.empty()) {node cur=q.top(); q.pop();int x=cur.u;if (vis[x]) continue;vis[x]=1;for (ri i=0;i<to[x].size();i++) {int y=to[x][i];if (dis[y]>dis[x]+len[x][i]) {dis[y]=dis[x]+len[x][i];q.push((node){y,dis[y]});}}}return dis[e+1];
}int main(){scanf("%d %d %d",&n,&s,&e);for (ri i=1;i<=n;i++) {scanf("%d %d %d",&l,&r,&c);add_edge(l,r+1,c);}for (ri i=1;i<N;i++) add_edge(i,i-1,0);LL ans=dij();if (ans>1e17) puts("-1"); else printf("%lld\n",ans);return 0;
}

转载于:https://www.cnblogs.com/shxnb666/p/11278448.html

【Vijos1404】遭遇战相关推荐

  1. Vijos1404遭遇战[最短路建模]

    背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...

  2. vijos1404 遭遇战

    题意: 给你一条数轴和m条线段,第i条线段覆盖区间[Li,Ri],选择它需要代价Ci.请选出代价和最小的一组线段使得区间[L,R]中的每一段都被覆盖. 这个题目其实是数据结构优化DP的一道例题.. 但 ...

  3. [vijos1404] 遭遇战(spfa)

    背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...

  4. Vijos1404 遭遇战 (SPFA)

    题意分析 看了一下题解区的dalao都是线段树+DP,然而蒟蒻看不懂. 用最短路思想直接解决这道题. 把每个人的守卫时间转换为 a-1到 b. 由于最优解会有区间相交的情况,所以要将i 与 i-1 连 ...

  5. vijos1404 遭遇战(建图spfa)

    这回要自己建图了..首先为了能连上,我们把[1,3]这种区间改记成[1,4).在图上用一条1指向4的有向边代替,边权为cost.然后为了解决覆盖的问题,即[1,3],[2,5]这种也可以满足[1,5] ...

  6. 【Vijos1404】遭遇战(最短路)

    [Vijos1404]遭遇战(最短路) 题面 Vijos 题解 显然可以树状数组之类的东西维护一下\(dp\).这里考虑一种最短路的做法. 首先对于一个区间\([l,r]\),显然可以连边\((l,r ...

  7. vijos1404:遭遇战

    背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...

  8. 使用Python模拟武侠小说中两派人的一场遭遇战。

    使用Python模拟武侠小说中两派人的一场遭遇战. 每个人都有名字.血量(HP) .一系列技能及技能对应的攻击输出.每个人的攻击方式均一致,即随机从自己的技能包中抽取一个技能进行攻击.两派人(自己命名 ...

  9. 红色警戒95版中各国的异同与遭遇战不同难度的区别

    今天专门研究了下红色警戒95版(后面简称ra95)中各国的异同与遭遇战不同难度的区别.ra95一共有三个版本,即原版和两个资料片"反戈一击"(Counterstrike).&quo ...

最新文章

  1. firefox和chrome中 JQuery的ajax组件执行差异
  2. android布局翻译,android – 使用翻译动画将视图从一个布局转换为另一个布局
  3. 《Spring实战》读书笔记--SpringMVC之forward与redirect
  4. 【HDU - 5965】扫雷(dp)
  5. java 反射调用set方法_java反射调用set方法时如果让参数做自动类型转换
  6. 《PostgreSQL服务器编程》一一1.7 定制排序方法
  7. 实现自我隐藏 CPU 利用率的最佳方法,不妨一试!
  8. 谷歌中文为什么以红色高亮关键字
  9. spring Beans初始化及配置
  10. JAVA对字符串进行32位MD5加密
  11. NetSetMan IP快速切换
  12. excel工作薄密码破解/清除
  13. 矩阵的乘法(python、matlab、excel的不同实现方法)
  14. 一次学会两种方式将 pyton 打成 exe
  15. configure error /bin/bash /config sub failed
  16. 在线教育20年:在线教育的未来发展趋势
  17. JVM性能调优(4)——性能调优工具
  18. 计算机上应用锁,电脑怎么设置软件锁
  19. 【机器学习入门——1】Python 开发环境的安装 Python(x,y)及Pycharm
  20. 解决anaconda拆卸后,打开powershell提示 : 无法将“C:\ProgramData\Anaconda3\Scripts\conda.exe”项识别为 cmdlet、函数、脚本

热门文章

  1. 51单片机流水灯控制(5种方法)
  2. Data Management 是指整个数据生命周期的管理,从收集、存储、分析和处理,一直到保护数据安全与隐私
  3. 计算机系统盘涨满怎么办,电脑系统盘满了怎么办【突破攻略】
  4. 三星android 7.0 root,三星G9350 7.0 root教程及获取7.0系统的root权限
  5. 鸿蒙开发初体验以及遇到的几点坑
  6. Win10环境下用CMake编译项目遇到与Eigen库相关的问题
  7. 阿里云RDS Mysql 8.0 与本地主从同步
  8. 23届国企招聘信息获取渠道
  9. lammps模拟技巧:高熵合金势函数设置三种方法
  10. ROS:发布压缩格式图像