首页 > 其他分享 >Time Travel

Time Travel

时间:2024-03-18 14:56:21浏览次数:16  
标签:终点 Travel 边集 出边 Time 集合 我们 id

这道题目本身不算难,只是有一点点小的最短路算法的改动

我们首先从分层图的角度考虑这个问题,每一层代表一秒钟

在第一层,最开始只有\(1\)在集合中,然后我们扫描第一层中\(1\)的所有出边,将终点全部加入到集合中

在第二层,我们扫描集合中所有点在第二层中的出边,把不在集合中的终点全部加入集合

每一层我们都这么做,最早的一层加入\(n\)的时候就是答案

但是上面的时间复杂度非常大,所以我们考虑优化,然而却没有很好的优化的方法,所以我们转换考虑对象,不从每一层去考虑,而是考虑每一个点什么时候被最早加入

我们考虑一个点\(u\)在\(d_u\)时刻被加入集合,那么他的贡献就是对其所有的时间大于\(d_u\)的出边的终点做出来的,所以我们有如下算法:

对每一个边集,存储其所有的时间;对每一个点,他的每一条边既包含终点也包含这条边所在的边集

于是我们在dij更新的时候,假设当前是\(u\)点,边为\((v,id)\),其中\(id\)是这条边所属的边集,我们查找\(id\)大于\(d_u\)时刻的最早的时刻,用这个时刻更新\(d_v\)就好了

标签:终点,Travel,边集,出边,Time,集合,我们,id
From: https://www.cnblogs.com/dingxingdi/p/18080392

相关文章

  • C - One Time Swap
    C-OneTimeSwaphttps://atcoder.jp/contests/abc345/tasks/abc345_c 思路组合计数,假设字符串中所有位置的字符都不相同,求所有位置字符交换的组合数对于相同字符的位置,任意两个位置交换不会改变字符串所以计算所有这种无效贡献注意最后对所有的无效贡献,需要保留一个,对......
  • chrome.tabs.sendMessage和chrome.runtime.sendMessage的用法及区别
    在Chrome扩展开发中,chrome.tabs.sendMessage和chrome.runtime.sendMessage是用于不同目的的消息发送API,它们的主要区别在于消息的目标对象和发送范围:chrome.tabs.sendMessage:用于在扩展内的不同页面之间发送消息。消息的目标对象是指定的标签页或标签页中的contentsc......
  • AT_abc345_c [ABC345C] One Time Swap 题解
    题目传送门解法对于\(S_{i}\),设\(num_{S_{i}}\)表示\(S_{i+1\simn}\)中\(S_{i}\)出现的次数,则\(S_{i}\)对答案产生的贡献为\(n-i-num_{S_{i}}\)。注意原串在存在两个相同的元素的时候,也要统计在内。代码#include<bits/stdc++.h>usingnamespacestd;#definell......
  • 时间序列预测的零样本学习是未来还是炒作:TimeGPT和TiDE的综合比较
    最近时间序列预测预测领域的最新进展受到了各个领域(包括文本、图像和语音)成功开发基础模型的影响,例如文本(如ChatGPT)、文本到图像(如Midjourney)和文本到语音(如ElevenLabs)。这些模型的广泛采用导致了像TimeGPT[1]这样的模型的出现,这些模型利用了类似于它们在文本、图像和语音方面获......
  • 利用 STM32 TIMER 触发 ADC 实现分组转换
    1、问题描述使用STM32G4系列芯片开发产品,用到其中一个ADC模块的多个通道,他希望使用TIMER来定时触发这几个通道的转换。不过他有两点疑惑。第一,他期望定时器触发这几个通道是每触发一次则只转换一个通道,这样依次触发转换,而不是触发一次就把几个通道都转换完结。他......
  • Druid连接池问题:discard long time none received connection.
    啊啊啊啊啊啊啊~~~我真的服了找bug找到发疯百度也找不到,gpt也问不到,最后就是我重新打开视频看着敲了一遍,最后发现......我**忘记加注解了(......
  • 【论文笔记合集】Transformers in Time Series A Survey综述总结
    本文作者:slience_me文章目录TransformersinTimeSeriesASurvey综述总结1Introduction2Transformer的组成PreliminariesoftheTransformer2.1VanillaTransformer2.2输入编码和位置编码InputEncodingandPositionalEncoding绝对位置编码AbsolutePosit......
  • OpenMP - runtime库函数
    常用函数。#include<iostream>#include<omp.h>#defineNUM_THREADS16usingnamespacestd;intmain(intargc,char*argv[]){omp_set_num_threads(NUM_THREADS);#pragmaompparallel{cout<<"threadnum:"<&......
  • GEE C14 Aggregating Images for Time Series 聚合时间序列图像
    一、CHIRPS数据CHIRPS: theClimateHazardsGroupInfraRedPrecipitationwithStation,全称“气候危害群红外线降水与站点数据”,该数据可利用时间能够追溯到1981年,目前仍然在更新当中,主要用于研究人员分析特定空间在特定时间段内降雨量的变化趋势,从而广泛应用于干旱监测。CH......
  • 【rust】《处理报错could not execute `llvm-config` one or more times》
    报错信息couldnotexecute`llvm-config`oneormoretimes,iftheLLVM_CONFIG_PATHenvironmentvariableissettoafullpathtovalid`llvm-config`executableitwillbeusedtotrytofindaninstanceof`libclang`onyoursystem:"couldn'texec......