描述

今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了。(一个人就能守住??这人是机械战警还是霹雳游侠?)
但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶。他们不愿意去单独守在荒无人烟的A区,在指挥官的一再命令下,他们终于妥协了,但是他们每个人都要求能继续旅游,于是给出了自己的空闲时间,而且你强大的情报系统告诉了你恐怖份子计划的进攻时间(从s时刻到e时刻)。
当然,精明的SQC成员不会为你免费服务,他们还要收取一定的佣金(注意,只要你聘用这个队员,不论他的执勤时间多少,都要付所有被要求的佣金)。身为指挥官的你,看看口袋里不多的资金(上头真抠!),需要安排一个计划,雇佣一些队员,让他们在保证在进攻时间里每时每刻都有人员执勤,花费的最少资金。

解题报告:
这题解法实在太多,这里介绍最短路算法,这题其实可以转化为最短路模型,以每个时间为一个节点(如果数据范围大,当然是可以离散的),于是这样就可以转化为求s到e的最短路了.
关于建边:
1.对于输入的(a,b),我们连(a,b+1)
2.为了保证在同一个区间内可以连通且不影响答案,连(i+1,i,0)

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#define RG register
#define il inline
#define iter iterator
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
using namespace std;
typedef long long ll;
const int N=1e4+5,M=9e4+5;
int n,s,e,head[M],dis[M<<2],to[M<<2],nxt[M<<2],num=0;
void link(int x,int y,int z){nxt[++num]=head[x];to[num]=y;dis[num]=z;head[x]=num;}
int q[M*10],mod=M*10;bool vis[M];ll f[M];
void spfa(){int t=0,sum=1,x,u;ll inf;memset(f,127/3,sizeof(f));inf=f[0];f[s]=0;q[sum]=s;vis[s]=true;while(t!=sum){t++;if(t==mod)t=0;x=q[t];for(int i=head[x];i;i=nxt[i]){u=to[i];if(f[x]+dis[i]<f[u]){f[u]=f[x]+dis[i];if(!vis[u]){vis[u]=true;sum++;if(sum==mod)sum=0;q[sum]=u;}}}vis[x]=false;}if(f[e+1]!=inf)printf("%lld\n",f[e+1]);else puts("-1");
}
void work()
{scanf("%d%d%d",&n,&s,&e);int x,y,v;for(int i=1;i<=n;i++){scanf("%d%d%d",&x,&y,&v);if(x>y)swap(x,y);if(x>e || y<s)continue;link(Max(x,s),Min(y,e)+1,v);}for(int i=e+2;i>=s;i--)link(i,i-1,0);spfa();
}int main()
{work();return 0;
}

转载于:https://www.cnblogs.com/Yuzao/p/7507197.html

Vijos 1404 遭遇战相关推荐

  1. Vijos 1404 遭遇战 - 动态规划 - 线段树 - 最短路 - 堆

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

  2. vijos 1404 遭遇战[spfa]

    传送门:https://vijos.org/p/1404 Analyse:题目给一些区间,要求是找some区间,使得所选区间并集包含题目[s,e],且权值和最小. *加上 (i)->(i-1) ...

  3. [Vijos 1404]遭遇战

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

  4. / Vijos / 题库 / 1404 遭遇战 spfa 建图

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

  5. Vijos P1404 遭遇战

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

  6. [vijos] 遭遇战

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

  7. 【Vijos1404】遭遇战

    题面 https://vijos.org/p/1404 题解 #include<cstdio> #include<iostream> #include<cstring&g ...

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

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

  9. vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化

    题目链接:https://vijos.org/p/1006 数字三角形原题看这里:http://www.cnblogs.com/huashanqingzhu/p/7326837.html 背景 在很久 ...

最新文章

  1. Subversion For Windows的安装与使用
  2. 计算机三级数据库应用题设计题,2017年计算机三级《数据库技术》模拟应用题及答案...
  3. 教你在windows 7/xp 下安装使用mencoder
  4. Python多版本管理器-pyenv 介绍及部署记录
  5. HttpApplication 事件执行顺序
  6. Android 返回键的处理
  7. 我的博客之[网管日志]
  8. python中字典dict的方法fromkeys
  9. 兼容标准的CSV文件读写类
  10. WPF解析Fnt字体
  11. jquery API参考手册
  12. 清华大学计算机直硕生,推免数据 | 清华大学计算机系三大巨变——直硕生减半,本校增多,211增多...
  13. [音频处理]傅里叶变换去噪
  14. arm920t架构cpu详解
  15. Zabbix拓扑图与聚合图形
  16. 黑苹果音频卡顿_DXOMARK 公布无线音箱音质基准:苹果华为 Sonos 上榜
  17. 用Jsoup爬取中国天气网的实时天气(空气质量、温度、相对湿度、降雨量、风力风向)
  18. python_习题一
  19. 前端面试题总结(js、html、小程序、React、ES6、Vue、全栈)
  20. 镶嵌数据集工具小结(七)色彩平衡与接缝线 Ⅰ

热门文章

  1. python 分类变量转为哑变量_超级详细的特征哑变量处理
  2. Lettuce简介(一)
  3. 大龄码农是如何把自己逼死的
  4. 中职网络安全竞赛训练设备P100-wireshark数据包分析
  5. 转录组分析流程|基于salmon转录组批量定量流程(三)
  6. QQ空间自动点赞js脚本
  7. Thinker Board 2开发板上使用奥比中光 astra 深度相机
  8. 【字符串石头剪刀布】c++新人教程
  9. 【宝塔面板建站】05. 七牛云存储使用教程 免费备份10G数据(保姆级图文)
  10. python+opencv 实现图像人脸检测及视频中的人脸检测