【Vijos1404】遭遇战
题面
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】遭遇战相关推荐
- Vijos1404遭遇战[最短路建模]
背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...
- vijos1404 遭遇战
题意: 给你一条数轴和m条线段,第i条线段覆盖区间[Li,Ri],选择它需要代价Ci.请选出代价和最小的一组线段使得区间[L,R]中的每一段都被覆盖. 这个题目其实是数据结构优化DP的一道例题.. 但 ...
- [vijos1404] 遭遇战(spfa)
背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...
- Vijos1404 遭遇战 (SPFA)
题意分析 看了一下题解区的dalao都是线段树+DP,然而蒟蒻看不懂. 用最短路思想直接解决这道题. 把每个人的守卫时间转换为 a-1到 b. 由于最优解会有区间相交的情况,所以要将i 与 i-1 连 ...
- vijos1404 遭遇战(建图spfa)
这回要自己建图了..首先为了能连上,我们把[1,3]这种区间改记成[1,4).在图上用一条1指向4的有向边代替,边权为cost.然后为了解决覆盖的问题,即[1,3],[2,5]这种也可以满足[1,5] ...
- 【Vijos1404】遭遇战(最短路)
[Vijos1404]遭遇战(最短路) 题面 Vijos 题解 显然可以树状数组之类的东西维护一下\(dp\).这里考虑一种最短路的做法. 首先对于一个区间\([l,r]\),显然可以连边\((l,r ...
- vijos1404:遭遇战
背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...
- 使用Python模拟武侠小说中两派人的一场遭遇战。
使用Python模拟武侠小说中两派人的一场遭遇战. 每个人都有名字.血量(HP) .一系列技能及技能对应的攻击输出.每个人的攻击方式均一致,即随机从自己的技能包中抽取一个技能进行攻击.两派人(自己命名 ...
- 红色警戒95版中各国的异同与遭遇战不同难度的区别
今天专门研究了下红色警戒95版(后面简称ra95)中各国的异同与遭遇战不同难度的区别.ra95一共有三个版本,即原版和两个资料片"反戈一击"(Counterstrike).&quo ...
最新文章
- firefox和chrome中 JQuery的ajax组件执行差异
- android布局翻译,android – 使用翻译动画将视图从一个布局转换为另一个布局
- 《Spring实战》读书笔记--SpringMVC之forward与redirect
- 【HDU - 5965】扫雷(dp)
- java 反射调用set方法_java反射调用set方法时如果让参数做自动类型转换
- 《PostgreSQL服务器编程》一一1.7 定制排序方法
- 实现自我隐藏 CPU 利用率的最佳方法,不妨一试!
- 谷歌中文为什么以红色高亮关键字
- spring Beans初始化及配置
- JAVA对字符串进行32位MD5加密
- NetSetMan IP快速切换
- excel工作薄密码破解/清除
- 矩阵的乘法(python、matlab、excel的不同实现方法)
- 一次学会两种方式将 pyton 打成 exe
- configure error /bin/bash /config sub failed
- 在线教育20年:在线教育的未来发展趋势
- JVM性能调优(4)——性能调优工具
- 计算机上应用锁,电脑怎么设置软件锁
- 【机器学习入门——1】Python 开发环境的安装 Python(x,y)及Pycharm
- 解决anaconda拆卸后,打开powershell提示 : 无法将“C:\ProgramData\Anaconda3\Scripts\conda.exe”项识别为 cmdlet、函数、脚本
热门文章
- 51单片机流水灯控制(5种方法)
- Data Management 是指整个数据生命周期的管理,从收集、存储、分析和处理,一直到保护数据安全与隐私
- 计算机系统盘涨满怎么办,电脑系统盘满了怎么办【突破攻略】
- 三星android 7.0 root,三星G9350 7.0 root教程及获取7.0系统的root权限
- 鸿蒙开发初体验以及遇到的几点坑
- Win10环境下用CMake编译项目遇到与Eigen库相关的问题
- 阿里云RDS Mysql 8.0 与本地主从同步
- 23届国企招聘信息获取渠道
- lammps模拟技巧:高熵合金势函数设置三种方法
- ROS:发布压缩格式图像