Funny Car Racing

ChatBI告别“NL2SQL依赖症”!从准确率50%到90%,3大技术路线+4个企业案例拆解核心玩法 摘要: ChatBI通过自然语言交互实现数据民主化,其核心是“语义理解+数据执行+知识沉淀”的全链路能力,而非单一的NL2SQL技术。行业采用三大技术路线提升准确率:专有知识库(提升30%)、指标标签语义层(准确率85%)、JSON中间层(多轮对话提升25%)。数据执行方案包括NL2SQL、NL2API等,需结合场景选择。企业落地需解决四大痛点:跨表查询准确率低(引入拓扑图)、模糊查询(用户干预机制)、响应慢(预计算缓存)、多轮对话(上下文池)。Spring AI Alibaba提供轻量级集成方案,助力企业 阅读详情

There is a funny car racing in a city with n junctions and m directed roads.
The funny part is: each road is open and closed periodically. Each road is associate with two
integers (a, b), that means the road will be open for a seconds, then closed for b seconds, then open for
a seconds… All these start from the beginning of the race. You must enter a road when it’s open, and
leave it before it’s closed again.
Your goal is to drive from junction s and arrive at junction t as early as possible. Note that you
can wait at a junction even if all its adjacent roads are closed.
Input
There will be at most 30 test cases. The first line of each case contains four integers n, m, s, t
(1 ≤ n ≤ 300, 1 ≤ m ≤ 50, 000, 1 ≤ s, t ≤ n). Each of the next m lines contains five integers u, v, a,
b, t (1 ≤ u, v ≤ n, 1 ≤ a, b, t ≤ 105
), that means there is a road starting from junction u ending with
junction v. It’s open for a seconds, then closed for b seconds (and so on). The time needed to pass this
road, by your car, is t. No road connects the same junction, but a pair of junctions could be connected
by more than one road.
Output
For each test case, print the shortest time, in seconds. It’s always possible to arrive at t from s.
Sample Input
3 2 1 3
1 2 5 6 3
2 3 7 7 6
3 2 1 3
1 2 5 6 3
2 3 9 5 6
Sample Output
Case 1: 20
Case 2: 9
一些赛道,打开a分钟,关闭b分钟,如此循环,问车从起点到终点的最少时间。
直接迪杰斯特拉,把赋值操作表达式改成题目中要求的就好了,原理上还是找最小时间,只是表达式不一样而已。
其实就是贪心的bfs。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<set>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
struct Node{
    int u, v, a, b, t;
}node[50005];
int dp[305], leap[305];
void check(int num, int time)
{
    int temp;
    temp = time % (node[num].a + node[num].b);
    if (node[num].t <= node[num].a)
    {
        if (temp + node[num].t > node[num].a)
        {
            int temp1;
            temp1 = time - temp + node[num].a + node[num].b + node[num].t;
            dp[node[num].v] = min(dp[node[num].v], temp1);
        }
        else
            dp[node[num].v] = min(dp[node[num].v], time + node[num].t);
    }
}
int main()
{
    int i, j, m, n, ans, t, s, kase = 1;
    while (scanf("%d%d%d%d", &n, &m, &s, &t) != EOF)
    {
        for (i = 1; i <= m; i++)
            scanf("%d%d%d%d%d", &node[i].u, &node[i].v, &node[i].a, &node[i].b, &node[i].t);
        for (i = 1; i <= n; i++)
            dp[i] = inf;
        dp[s] = 0;
        memset(leap, 0, sizeof(leap));
        leap[s] = 1;
        for (i = 1; i <= m; i++)
        {
            if (node[i].u == s)
                check(i, 0);
        }
        for (i = 1; i <= 305; i++)
        {
            int tempx, tempm;
            tempx = tempm = inf;
            for (j = 1; j <= n; j++)
            {
                if (!leap[j] && dp[j] <= tempm)
                {
                    tempm = dp[j];
                    tempx = j;
                }
            }
            if (tempx == inf)break;
            leap[tempx] = 1;
            for (j = 1; j <= m; j++)
            {
                if (node[j].u == tempx)
                    check(j, dp[tempx]);
            }
        }
        cout << "Case " << kase++ << ": ";
        cout << dp[t] << endl;
    }
    return 0;
}
新手如何学习车载底层嵌入式软件开发(AutoSar) 汽车嵌入式开发 阅读详情

相关推荐

Tessent_StdcellLib

第二种为 Tessent Cell lib,既可用于功能仿真,也可以用于测试逻辑插入。lib包含了用于仿真的功能信息,也包含DFT cell属性。如何使用tessent工具将stdcell verilog 仿真模型转换为tessent自己的lib。运行后工具会生成一个atpg的lib文件,打开文件,找到一个带SI的DFF,只有功能描述。tessnt lib分为两种,第一种为ATBG lib,可以用于仿真;打开生成的lib文件,多了dft_cell_selection。第二部:编写attributes文件。

qq_40411444的博客 2134

Funny Car Racing(最短路)

Problem Description There is a funny car racing in a city with n junctions and m directed roads. The funny part is: each road is open and closed periodically. Each road is associate with two intege

xiaofang3a的专栏 1022

yolov5部署之七步完成tensorRT模型推理加速

目录前言step 1. 下载yolov5源码以及tensorrtx源码,并将yolov5s.pt转为.wts模型step 2. 确定并下载自己准备使用的CUDA版本。step 3. 根据自己的CUDA版本下载对应版本的cuDNN以及TensorRTstep 4. 根据自己使用的VS版本下载对应版本的OpenCVstep 5. 安装CUDAstep 6. 安装cuDNN、TensorRT以及验证TensorRT是否安装成功 前言     前段时间研究了Pytorch的环境配置,之后便从github上下载了yo

Christo的博客 4万+

Funny Car Racing - 最短路小技巧

Description There is a funny car racing in a city with n junctions and m directed roads. The funny part is: each road is open and closed periodically. Each road is associate with two integers (a,b), that means the road will be open for a seconds, then clos

PushyTao的博客 330

一文搞定学术英语写作 (斯坦福SCI论文写作课程笔记)

0.前言: 本文基于斯坦福Kristin Sainani 教授的学术论文写作公开课——SCI论文写作(Writing in the Sciences)。在此基础上进行章节顺序的重排及部分内容的删减,以方便第一次进行英语学术论文写作的同学快速上手。 时间充足和想要系统学习英文学术写作的同学,十分建议观看完整课程视频,一定会受益匪浅!课程地址如下: 课程B站地址:https://www.bilibili.com/video/BV1zv41177JQ 1.论...

Ogmx的博客 3万+

在Tricore上移植μC/OS-III——1.1 AURIX Development Studio的使用

本文主要介绍AURIX Development Studio软件的安装和使用方法。 英飞凌针对Tricore系列单片机推出了一款免费的软件——AURIX™ Development Studio,集成了iLLD库,内置Tasking compiler和Tasking Debugger,但这两个模块只能用于非商业用途,可供学习和试用。iLLD库是英飞凌为TC2XX和TC3XX Tricore系列单片机提供的底层驱动库,有完善的使用手册,和较好的移植性。 可从下面的链接获取软件安装包,软件安装好后,新建工程时会自

weixin_42967006的博客 2290

最短路 uva12661 Funny Car Racing

传送门:点击打开链接 题意:给你有向图,每条边呈周期性开放,即开放a时间,再关闭b时间,再开放a时间以此类推 如果时间不足以穿过这条路则不能走,你可以在节点等待时间,问从s走到t所需要的最小时间 仔细想一想这题,对于某条边,越早走到u点一定是最优的,大不了我就等时间嘛 所以,这只是一个普通的dijistra然后稍微在每一条边的距离上做了点手脚而已 在节点等待时间,我们可以

qwb的博客 1382

RK3588芯片:ALSA音频通路下HDMI与耳机自动切换的技术探索

摘要:本文详细探讨了基于RK3588芯片的HDMI与耳机自动切换方案。文章首先剖析了ALSA音频架构的核心组件与工作原理,接着介绍了RK3588芯片的硬件特性及音频处理优势。重点阐述了自动切换的实现原理,包括硬件检测机制、ALSA驱动处理逻辑和软件控制流程,并提供了详细的配置步骤。同时针对常见问题如切换异常、音频质量下降等给出了解决方案。该方案通过合理配置设备树和ALSA文件,实现了音频输出的智能切换,提升了用户体验,展现了RK3588在音频处理领域的强大性能。未来随着AI音频技术的发展,该方案在智能家居、

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 266

2013年湖南省第九届程序设计大赛 F Funny Car Racing(最短路)

题意: 给你N个点,M条边,

u012659423的专栏 945

YOLOv11改进 | Conv篇 | 图像去雾卷积DEConv助力yolov11有效涨点(部署零额外开销)

本文介绍了一种最新改进机制用于低层视觉任务的细节增强卷积(DEConv)机制。DEConv在训练阶段采用"普通卷积+差分卷积"的多分支并联结构,增强网络对边缘、纹理等细节特征的学习能力;在推理阶段可折叠为标准3×3卷积,保持与普通卷积相同的计算效率。文中详细阐述了DEConv的工作原理、实现方法以及在YOLOv11中的应用步骤,包括核心代码解析、模型修改方法和训练配置。实验表明,该机制在去雾、去噪、超分等强调细节重建的任务中具有显著优势。文章还提供了完整的代码实现和训练指导.

Snu77的博客 2432

Claude Code本地Windows安装教程

本文介绍了在Windows系统上安装和配置Claude Code本地调用的详细步骤。首先需要确保网络畅通和账号余额充足,然后安装Node.js v22版本作为基础环境。接着通过npm全局安装Claude Code包,并进行版本验证。安装完成后,使用命令行登录并可以指定模型启动。最后还提供了切换API秘钥的方法,通过setup-token命令重新授权账号。整个过程配有详细的命令行示例和操作截图,方便用户按步骤完成安装配置。

猿小白的博客 2万+

uva 12661 - Funny Car Racing

题目 求起点到终点的最短路(有向图),每条边会循环着开一段时间,关一段时间.注意:能走一条边的条件时,你能进去,还能在关上以前出来. SPFA,对边操作,建边时直接忽略到cost>a的 假设x到y之间有一条边r[i]{x,y,a,b,cost}; 那么: int res=dis[x]%(r[i].a+r[i].b); if(res+r[i].cost ..... .

qqspeed 1943

农作物生长模型:数学建模与实战案例

在本篇博客中,我们介绍了农作物生长模型的基本原理,并结合Matlab代码和实战案例,演示了如何应用数学建模技术进行农作物生长模型的研究与应用。农作物生长模型在农业领域具有重要意义,希望本篇博客能帮助读者更好地理解农作物生长模型的原理和应用,并在实际农业生产中取得更好的效果。

YOLO 2733

UVa 12661 Funny Car Racing

本文提出了一种解决周期性开放道路最短路径问题的方法。给定n个路口和m条周期性开放的有向道路(开放a秒,关闭b秒),目标是从起点s尽快到达终点t。通过改进Dijkstra算法,在松弛步骤中计算道路开放时间窗口:若当前时间处于开放期且剩余时间足够通过,则立即通行;否则等待至下一开放周期。算法使用优先队列优化,时间复杂度为O((n+m)logn)。代码实现验证了该方法的有效性,适用于需要处理周期性时间约束的路径规划场景。

寂静山林 654

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Funny Car Racing UVA - 12661

题意:在一个赛车比赛中,赛道有n(n &lt;= 300)个交叉点和m(m &lt;= 50000)条单向道路。有趣的是:每条路都是周期性关闭的。每条路用5个整数u,v,a,b,t表示(1&lt;=u,v&lt;=n,1&lt;=a,b,t&lt;=1e5),表示起点是u,重点是v,通过时间为t秒。另外这条路会打开a秒,然后关闭b秒,然后再打开a秒,以此类推。当比赛开始时,每条道路刚刚打开。你的赛...

沐妖的博客 165

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

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

uva 12661 funny car racing dijkstra变形

题意:在一场在比赛中,有n个结点,有m条连线,每一条边有属性a,b。a代表边的门打开时间,b代表门关闭的时间。周期循环。车字通过每条边需要时间,如果通过的时间小于门打开的时间,则不能通过,等待下一次开门。(如果在一个完整的周期中,通过的时间仍小于门打开的时间,则不能通过这条边). #include #include #include #include using namespace std; c

chen_minghui的博客 530

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

UVa12661: Funny Car Racing 题解

这题仍然可以跑dijkstra,只是在通过边的时候边的权值不再是通过时间,还要通过数学计算加上一些等待时间 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl

IcePrincess_1968's World 415

UVA 12661 Funny Car Racing

题目大意:有几条路,每条路会周期性关闭,题目给出了每条路的起点和终点,以及这条路会打开a秒,关闭b秒,通过这条需要的时间t,比赛开始时道路都刚刚打开,求到终点最少时间解题思路:用dijkstra求最短路,每个点记录一下到达该点时经过的时间,中间判断下当前时间是否需要等待道路开放即可#include <iostream> #include <cstdio> #include <cstring> #in

ZeroLH00的博客 405

UVA 12661 Funny Car Racing

题目链接  http://acm.hust.edu.cn/vjudge/problem/47070 求起点到终点的最短路(有向图), 给你m条边,每条边会循环着开a时间,关b时间,通过所花时间为t  注意:能走一条边的条件时,你能进去,还能在关上以前出来. 就是求最短路 要处理好各种情况 1. 门开的且时间t后还是开的 (直接走) 2. 门开的但是时间t后是关的 (要等

Waves___的博客 454

CSU 1333: Funny Car Racing 最短路

题目连接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1333 题意:给你一个n个顶点,m条边(每条边都有三个参数,开放时间,关闭时间,和通过这条边的时间)的有向图; 要你求从s 到 t 的最短路;dijkstra算法可解; 坑点:我用的是队列优化+Vector存储每条边; 在每次调用dijkstra后,必须初始化邻接表,在这个地方坑了好

T_T 1758

Uva-12661-Funny Car Racing

这个题其实就是最短路问题,只是中间需要特殊处理下开门和关门的情况,

z309241990的专栏 1763

Funny Car Racing bfs题

D - Funny Car Racing   There is a funny car racing in a city with n junctions and m directed roads.   The funny part is: each road is open and closed periodically. Each road is associate with tw

旺旺的博客 684

Uva 12661 Funny Car Racing

分析:因为有单个源点和终点,每条有向道路上都有对应的开销,可以联想到单源最短路算法。而与常见的单源最短路算法的区别则是在松弛操作中对距离的处理上,有两种情况:        1. 当我们到某条道路e上,当前时间和通过e的时间允许我们直接通过e        2. 当我们到某条道路e上,当前时间和通过e的时间不允许我们直接通过e,则我们需要等待curTime % (e.a + e.b)  ...

DreamyHacker的博客 302

12661 - Funny Car Racing (最短路)

一道比较基础的最短路问题,和普通最短路的不同之处在于每条道路会开启a时间,关闭b时间的循环  。那么只需要在dijkstra算法中利用d[u]稍微改动一下就行了 。 两种情况:1 可以直接通过该条道路 。 2 需要等一会才能通过 。  当然还有可能无论如何都不能通过 。  细节参见代码: #include using namespace std; typedef long long ll;

AC_Arthur的专栏 1907
上一篇: Audiophobia
下一篇: Page Hopping
Techay
博客等级 码龄11年 11粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值