vijos p1404遭遇战

C++ 遭遇战 【问题描述】 小林和小华在一个 n×n的矩形方格里玩游戏,矩形左上角为(0,0),右下角为(n−1,n−1)。 两人同时进入地图的随机位置,并以相同速度进行走位。为了隐蔽性,两人都不会再走自己走过的格子。如果两人向某一方向前进,那么他们会跑到不能跑为止,当不能跑的时候,小林会向右转,小华则会向左转,如果不能跑,则不再动。现在已知两人进入地图的初始位置和方向,请算出两人遭遇的位置。 【输入格式】 第 1 行 1 个正整数 t,表示测试数据组数,1≤t≤10。 接下来的 t 组数据,每组数据的第1行包含 1 个 阅读详情

[spfa][区间问题]
背景
你知道吗,SQ Class的人都很喜欢打CS。(不知道CS是什么的人不用参加这次比赛)。
描述
今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了。(一个人就能守住??这人是机械战警还是霹雳游侠?)
但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶。他们不愿意去单独守在荒无人烟的A区,在指挥官的一再命令下,他们终于妥协了,但是他们每个人都要求能继续旅游,于是给出了自己的空闲时间,而且你强大的情报系统告诉了你恐怖份子计划的进攻时间(从s时刻到e时刻)。

当然,精明的SQC成员不会为你免费服务,他们还要收取一定的佣金(注意,只要你聘用这个队员,不论他的执勤时间多少,都要付所有被要求的佣金)。身为指挥官的你,看看口袋里不多的资金(上头真抠!),需要安排一个计划,雇佣一些队员,让他们在保证在进攻时间里每时每刻都有人员执勤,花费的最少资金。
格式
输入格式
第一行是三个整数n(1≤n≤10000),s和e(1≤s≤e≤90000)。

接下来n行,描述每个反恐队员的信息:空闲的时间si, ei(1≤si≤ei≤90000)和佣金ci(1≤ci≤300000)。

输出格式
一个整数,最少需支付的佣金,如果无解,输出“-1”。

样例1
样例输入1
3 1 5
1 3 3
4 5 2
1 1 1
样例输出1[复制]
5
限制

提示

敌人从1时刻到4时刻要来进攻,一共有3名反恐队员。第1名从1时刻到3时刻有空,要3元钱(买糖都不够??)。以此类推。

一共要付5元钱,选用第1名和第2名。

来源
SQ CLASS公开编程竞赛2008——Problem D
Source: WindTalker, liuichou, royZhang

题目思路
这道题的题目可以这样概括,有一个区间[s,t],然后有一些小区间,来覆盖整个区间,可以转成求最短路径,这里我用SPFA。
可是这样其实建图很难建,
几个易错误的地方:
1.比如第一个反恐队员,可以守[1,6],但是6过后时间其他队员的钱可能比一个[3,~],还要多,所以这个队员守的过程中是可以换用其他反恐队员的,,。[很垃圾的我做的时候并没有想到这个很坑爹的地方,然而这个地方却是这道题最巧妙的一个地方。QAQ]
处理方法

for(int i = s; i<=e+1;i++){
ed[++tot]=ii(i,head[i+1],0);
head[i+1]=tot;}

每一个都建一条反边回去,代价即为0,i+1到i的边,这样的意思就相当于这个时刻,其他队员即使开始时间在这个时刻前面也可以跳回去用这个更优的队员。
2.这道题给的数据范围是n[1,10000],时刻点是[1,90000],这个范围一定要注意,开边应该至少开成[90000+10000],n个人的边加上90000个时刻的反边,这里的节点是时刻,,不要弄成人了。,有些别人的代码边开的很大,,其实[90000+10000]就够了。
3.因为这是区间,不是单纯的点,最好的处理区间的方法就是加一个1,什么意思,1__2__3__4__5__6,比如这是一个区间,求[1,5],但是这里的时刻其实是一个“__”,所以其实点的话是[1,6].
……..原谅我说了这么多,我只是越写越觉得这道题很好QAQ…………


#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
#define LL long long
#define cle(x) memset(x,0,sizeof(x))
#define maxcle(x) memset(x,127,sizeof(x))
#ifdef WIN32
#define AUTO "%I64d"
#else 
#define AUTO "%lld"
#endif
using namespace std;
const int N=90050,INF=0x3f3f3f3f,M=10050;
int n,s,e;
struct ii{
    int to,ne,v;
    ii(int to=0,int ne=0,int v=0):to(to),ne(ne),v(v){ }
}ed[N+M];//记住不是N,节点是时间节点
int head[N],tot;
inline int readin(){
    int res=0;
    char ch;
    while((ch = getchar())>'9'||ch<'0');
    res=ch-'0';
    while((ch = getchar())>='0'&&ch<='9')
        res=res*10+ch-'0';
    return res;
}
void init(){
    n=readin(),s=readin(),e=readin();
    for(int i = 1; i<= n; i++){
        int x=readin(),y=readin(),z=readin();
        if(x<=e&&y>=s){
            x=max(s,x),y=min(e+1,y+1);//区间加一
            ed[++tot]=ii(y,head[x],z);
            head[x]=tot;
        }
    }
    for(int i = s; i<=e+1;i++){
        ed[++tot]=ii(i,head[i+1],0);
        head[i+1]=tot;}//建反边,!!!!可以中途换其他人使其更优
}
bool inq[N];
LL dis[N];
queue<int>q;
void spfa()
{
    q.push(s),inq[s]=1;
    maxcle(dis);
    dis[s]=0;
    bool flag=false;
    while(!q.empty()){
        int u=q.front();q.pop(),inq[u]=false;
        for(int i=head[u];i;i=ed[i].ne){
            int v=ed[i].to;
            if(dis[v]>dis[u]+ed[i].v){
                dis[v]=dis[u]+ed[i].v;
                if(v==e+1)flag=true;
                if(!inq[v]){
                    inq[v]=true;
                    q.push(v);
                }                   
            }
        }
    }
    if(!flag)printf("-1\n");
    else printf(AUTO,dis[e+1]);
}
int main(){
    freopen("vijos.in","r",stdin);
    freopen("vijos.out","w",stdout);
    init();
    spfa();
    return 0;
}

。。。祝您AC

#144-(EZOI模拟练习)[模拟]遭遇战 Description 小林和小华在一个 n×n 的矩形方格里玩游戏,矩形左上角为(0,0),右下角为(n-1,n-1)。 两人同时进入地图的随机位置,并以相同速度进行走位。为了隐蔽性,两人都不会再走自己走过的格子。如果两人向某一方向前进,那么他们会跑到不能跑为止,当不能跑的时候,小林会向右转,小华则会向左转,如果不能跑,则不再动。现在已知两人进入地图的初始位置和方向,请算出两人遭遇的位置。 ... 阅读详情

相关推荐

手把手教你用Python模拟侧信道攻击:从电磁辐射到数据窃取(附防御代码)

本文详细介绍了如何使用Python模拟侧信道攻击,从电磁辐射信号采集到数据窃取的全过程,并提供了实用的防御代码。通过实战案例,帮助安全研究员和开发者理解侧信道攻击原理,掌握信号处理与图像重建技术,同时学习有效的噪声干扰和电磁屏蔽防御措施。

weixin_28716443的博客 161

遭遇战(模拟)

分析:模拟两个人同时走就可以了,只是有点麻烦。代码 const maxn=1100; var dx:array[0..3] of longint=(0,1,0,-1); dy:array[0..3] of longint=(1,0,-1,0); a,b:array[-1..maxn,-1..maxn] of boolean; i,j,x1,y1,x2,y2,d1,d

闲人请进 1335

【模拟】遭遇战

存 T1 #include<cstdio> int n,t,tt,l,i=1,j; int main(){ scanf("%d%d",&n,&t); while(i<=n){ l=i;tt=0; while(l){ if(l%10==t) tt=1; l/=10; } if(tt==0) ++j; ++i; } print...

鲤の游 656

Atlas 300I Pro推理卡性能深度测试:对比业界同类产品的能效比与算力表现

本文对昇腾Atlas 300I Pro推理卡进行了深度性能评测,重点对比了其与业界同类产品的能效比与算力表现。实测数据显示,该卡在运行BERT等模型时展现出高达39.6句子/秒/瓦的卓越能效比,电力成本可降低40%以上,同时其达芬奇架构和硬件加速特征检索能力,为高密度在线推理和向量检索场景提供了强大支撑。

weixin_29031161的博客 578

winpcap无法安装提示新版本已经安装解决办法

问题显示如下该问题会导致ensp里的云识别不到网卡可能是因为之前安装了npcap,而且安装时勾选了第四个选项导致无法安装,需要完全卸载npcap解决办法:办法一:在控制面板的程序与卸载里面卸载npcap和winPcap,然后再安装winPcap,如果搜不到往下看办法二:在C:\Windows\SysWOW64目录下搜索wpcap.dll和packet.dll并重命名为wpcap.dll.old和packet.dll.old办法三:如果搜不到这两个文件需要安装win10Pcap才能找到这两个文件下载地址:Wi

qq_73202377的博客 3万+

VIJOS-P1404-遭遇战

这几天因为一些事情都没咋做题,今天本来想刷一道的,结果却在这个题上面费了半天。 其实这个题以时间限制来说的嘛,n2的复杂度是可以过的,但是还是尽量的优化一些,最开始打算用线段树做,结果失败了,后来发现可以用优先队列做,然后就AC了~ 思路比较简单,直接放代码吧: 代码: #include #include #include #include #include #include using

z309241990的专栏 1468

comsol如何实现五厚度的单元模拟?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 469

HFI高频注入无感启动:从寄存器配置到IIR定点实现的代码级解剖

高频注入(HFI)是永磁同步电机(PMSM)无位置传感器启动的核心技术,其本质是在d/q轴叠加可控高频电压扰动,通过解析响应电流相位反推转子初始位置。该技术依赖严格的信号链设计:从PWM边沿对齐、ADC静默窗采样,到IIR滤波器的定点化实现与抗饱和处理,再到滑动DFT相位提取和坐标系映射补偿。HFI成功与否不取决于算法理论,而在于纳秒级时序控制、Q15定点运算稳定性及硬件噪声抑制能力。本文聚焦嵌入式实时系统(如STM32H7)下的工程落地,覆盖高频注入频率选择、IIR结构选型、相位延迟补偿、磁极极性三周期验

weixin_34095889的博客 319

YOLOv11模型改进:利用注意力机制实现小目标检测精度跃升

如果你在实操中遇到精度提升不明显或速度下降过多的问题,不妨尝试调整注意力模块的类型(如替换为CA)或插入层级,或针对性优化小目标的数据集增强策略。记住,小目标检测的核心是“特征强化与空间定位”,只要结合业务场景灵活调整注意力模块的组合,你也能让YOLOv11在小目标识别任务中脱颖而出。接下来,我们从模块选型到代码落地,一步步带你打造“小目标检测专精版”YOLOv11,真正帮你解决工业场景中(如安防、质检)的小目标识别痛点。在城市安防场景中,改进后的YOLOv11对远处行人、车辆(小目标)的识别准确率提升。

m0_71589036的博客 454

华为HCIP的学习大纲和计划

HCIP(华为认证 ICT 高级工程师)核心围绕华为 ICT 技术体系,不同方向(如路由交换、云计算、安全等)课程目录不同,以下是最热门的。

迷逝 573

vijos 1404 遭遇战[spfa]

传送门:https://vijos.org/p/1404 Analyse:题目给一些区间,要求是找some区间,使得所选区间并集包含题目【s,e】,且权值和最小。 *加上 (i)->(i-1) 权值为0的边。 *每边为s->e+1,,刚好是区间连起来 Code: #include #include #include #include #include #include #in

code_or_code 1049

购物车智能检测系统:YOLO26 + PyQt5 毕设实现

YOLO26 + PyQt5 完成购物车商品检测系统:标注数据集(OpenImages 筛选 + 自制 500 张),训练 100 epoch 得到 mAP50 约 0.89,集成商品定价后输出总价。建议先用 OpenImages 预训练权重在自制数据上调优(冻住 backbone 前 50 epoch),等 loss 稳定后再解冻全量训练。

m0_64661770的博客 55

【Vijos1404】遭遇战

题面 https://vijos.org/p/1404 题解 #include<cstdio> #include<iostream> #include<cstring> #include<vector> #include<queue> #define N 90500 #define ri register ...

weixin_30362233的博客 191

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【Vijos1404】遭遇战(最短路)

【Vijos1404】遭遇战(最短路) 题面 Vijos 题解 显然可以树状数组之类的东西维护一下\(dp\)。这里考虑一种最短路的做法。 首先对于一个区间\([l,r]\),显然可以连边\((l,r+1)\),那么最终的问题转化成了从\(S\)时刻到\(E\)时刻的最短路。发现显然并不在意一个时间可以被个线段覆盖,所以连边\((i+1,i)\),边权为\(0\)的边。 #include<i...

weixin_30530339的博客 191

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Vijos1404 遭遇战 最短路,dijkstra,堆

P1404遭遇战 标签:[显示标签] 背景 你知道吗,SQ Class的人都很喜欢打CS。(不知道CS是什么的人不用参加这次比赛)。 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服...

weixin_33850890的博客 144

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

vijos1404 遭遇战

题意:给你一条数轴和m条线段,第i条线段覆盖区间[Li,Ri],选择它需要代价Ci。请选出代价和最小的一组线段使得区间[L,R]中的每一段都被覆盖。 这个题目其实是数据结构优化DP的一道例题。。但是这里我们把它转化为一个图论问题。用简单一点的知识把它解决。首先我们要考虑建模。我们如果把线段上每个点看成图上一个点,那么对于每条线段,就相当于从Li向Ri连了一条Ci的有向边。同时我们考虑到我们要保留...

weixin_30847939的博客 131

Vijos 1404 遭遇战

描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了。(一个人就能守住??这人是机械战警还是霹雳游侠?) 但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶。他们不愿意去单独守在荒无人烟的A区,在指挥官的一...

weixin_30879169的博客 137

[vijos1844]遭遇战<SPFA>

题目链接:https://vijos.org/p/1404 我在二分查找区找到这道题的,没错这就是一道摆在二分区但是可以用SPFA做的一道题(当然我后来去看了下分区,貌似这题的方法很多) 这一题还是比较有趣的,我用的是SPFA,状况还是层出不穷,我原本以为可以一次过,结果就一个点没过,好吧这才是最绝望的。。。 后来发现只是因为-1的情况判断失误造成的。。。。 这道题其实看上...

baixunjiu2536的博客 204

vijos1404:遭遇战

背景 你知道吗,SQ Class的人都很喜欢打CS。(不知道CS是什么的人不用参加这次比赛)。 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了。(一个人就能守住??这人是机械战警还是霹雳游侠?)但是问题随之出现了,由于DustII中风景秀丽,而且...

weixin_30532837的博客 104

Vijos1404遭遇战[最短路建模]

背景 你知道吗,SQ Class的人都很喜欢打CS。(不知道CS是什么的人不用参加这次比赛)。 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了。(一个人就能守住??这人是机械战警还是霹雳游侠?)但是问题随之出现了,由于Du...

weixin_30861797的博客 94

VIJOS-P1292 火车票

JDOJ 1404: VIJOS-P1292 火车票 https://neooj.com/oldoj/problem.php?id=1404 Description 一个铁路线上有n(2< =n< =10000)个火车站,每个火车站到该线路的首发火车站距离都是已知的。任意两站之间的票价如下表所示: 站之间的距离 - X 票价 0&...

anhaoti3785的博客 320

linux 更新包缓存目录,linux yum 下载至本地及使用本地缓存安装包

jquery的checkbox 全选和全不选今天写了一个checkbox的全选和全不选的功能: var check_all=function(){ if(this.checked){ //alert($(".adv_check_num ...对xml文件的简单解析package com.eprobj.demo; import java.io.IOException; import javax.xm...

weixin_39758048的博客 321
上一篇: hdu2586【How far away ?】
下一篇: SPOJ 3943 Nested Dolls
Freddddddddddd
博客等级 码龄10年 2粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值