【最短路dij】牛客练习赛112D qsgg and Subway

news2024/11/19 9:19:25

D-qsgg and Subway_牛客练习赛112 (nowcoder.com)

题意:

 思路:

感觉这类题难的地方就是更新v的那个值比较难求

思路:

#include <bits/stdc++.h>

#define int long long

using namespace std;

const int mxn=1e6+10;
const int mxe=1e6+10;
const int Inf=0x3f3f3f3f;

struct ty{
    int to,next,w1,w2;
}edge[mxe<<2];

struct ty2{
    int x,dis;
    bool operator<(const ty2&a)const{
        return a.dis<dis;
    }
};

priority_queue<ty2> q;

int N,M,S,k,t;
int tmp,x,tot=0;
int head[mxn],dis[mxn],vis[mxn];

void add(int u,int v,int w1,int w2){
    edge[tot].w1=w1;
    edge[tot].w2=w2;
    edge[tot].to=v;
    edge[tot].next=head[u];
    head[u]=tot++;
}
void G_init(){
    tot=0;
    for(int i=0;i<=N;i++){
        head[i]=-1;
    }
}
int ceil(int l,int p){
    return (l+p-1)/p;
}
void dij(){
    memset(dis,-1,sizeof(dis));
    memset(vis,0,sizeof(vis));
    dis[S]=0;
    q.push({S,0});
    while(!q.empty()){
        ty2 u=q.top();
        q.pop();
        for(int i=head[u.x];~i;i=edge[i].next){
            int w=0;
            int s=edge[i].w1,t=edge[i].w2;
            if(s>=dis[u.x]) w=s+1;
            else w=ceil(dis[u.x]-s,t)*t+s+1;
            if(dis[edge[i].to]>w||dis[edge[i].to]==-1){
                dis[edge[i].to]=w;
                q.push({edge[i].to,dis[edge[i].to]});
            }
        }
    }
}
void solve(){
    cin>>N>>M>>S;
    G_init();
    for(int i=1;i<=M;i++){
        cin>>k>>t;
        int tmp=0,s=0;
        for(int j=1;j<=k;j++){
            cin>>x;
            if(tmp){
                add(tmp,x,s,t);
                s++;
            }
            tmp=x;
        }
    }
    dij();
    for(int i=1;i<=N;i++) cout<<dis[i]<<'\n';
}
signed main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int __=1;//cin>>__;
	while(__--)solve();return 0; 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/694463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

G1垃圾回收参数调优及MySQL虚引用造成GC时间过长分析 | 京东云技术团队

1. 背景 我方有一应用&#xff0c;偶尔会出现GC时间过长&#xff08;间隔约4小时&#xff09;&#xff0c;导致性能波动的问题(接口最长需要耗时3秒以上)。经排查为G1垃圾回收器参数配置不当 叠加 MySQL 链接超过闲置时间回收&#xff0c;产生大量的虚引用&#xff0c;导致G1在…

wordpress里的日主题ripro登录一直返回0,或者循环登录

如以下网站&#xff1a;爱豆坤坤博客_最爱蔡徐坤&#xff0c;专注活动&#xff0c;软件&#xff0c;资源&#xff0c;教程分享!。点击登录后一直提示登录。或者返回0.具体原因是因为插件乱用导致。需要查看文件wp-load.php 删除最后的include("/www/wwwroot/25qi.cn/wp-co…

c语言通讯录——文件版本(带详细文字解释)

1.定义一个用于存储一个人的信息的结构体 typedef struct PeoInfo {char name[NAME_MAX];int age;char sex[SEX_MAX];char addr[ADDR_MAX];char tele[TELE_MAX]; }PeoInfo;定义了一个名为 “PeoInfo” 的结构体&#xff08;struct&#xff09;类型&#xff0c;用于存储有关一个…

想知道AI智能绘画是什么?三分钟告诉你如何生成ai绘画

你是否曾经幻想过让电脑也能像大师一样创作出美丽的艺术作品&#xff1f;AI智能绘画就是这样一门神奇的技术&#xff0c;它将人工智能与绘画艺术相结合&#xff0c;为我们呈现了一场令人惊叹的创造魔术。那么到底AI智能绘画是什么呢&#xff1f;让我们一起揭开它的神秘面纱&…

低代码平台其中两大优势

低代码开发平台本质上是一种的软件开发工具&#xff0c;通过把常用功能控件进行组件化封装、将常用业务场景进行模板化&#xff0c;通过可视化模式进行进行开发。相比传统编码开发模式具有开发效率高、开发成本更低的明显优势。 低代码开发是如何提高开发效率和降低成本的呢&am…

Navicat连接oracle

1、官网下载oracle instant client客户端&#xff08;版本自选&#xff09; Oracle Instant Client Downloads 下载后解压 2、navicat配置 在工具-> 选项 -> OCI 或环境中&#xff0c;选择在步骤 1 解压目录的 oci.dll 3、重新启动 Navicat 4、配置oracle连接即可 参考…

Excel 经常复制粘贴失效,复制表格粘贴不了无反应,怎么解决?

环境&#xff1a; Win10 专业版 Excel2021 L盾加密客户端 wps2021 问题描述&#xff1a; 之前正常的&#xff0c;excel2016和2021 经常复制表格粘贴不了无反应每隔10几分钟随机出现&#xff0c;在表格外面复制粘贴没有问题&#xff0c;把外面东西&#xff0c;粘贴进表格里…

阿里一年香~

一年香照片&纪念品 一年香感悟 身份转变 从学生身份变为社会打工人&#xff0c;深知父母挣钱的不易与艰辛&#xff0c;也懂得了朝十晚九的生活。不要焦虑&#xff0c;开心过好每一天。 沉稳与笨拙 从原来的120斤到现在的140斤&#xff0c;真是又沉又稳。现在周六上午打…

Android JNI 学习实践

目录介绍 01.学习JNI开发流程 1.1 JNI开发概念1.2 JNI和NDK的关系1.3 JNI实践步骤1.4 NDK使用场景1.5 学习路线说明 02.NDK架构分层 2.1 NDK分层构建层2.2 NDK分层Java层2.3 Native层 03.JNI基础语法 3.1 JNI三种引用3.2 JNI异常处理3.3 C和C互相调用3.4 JNI核心原理3.5 注册N…

应用自动开启辅助(无障碍)功能并使用辅助(无障碍)功能

一.背景 由于最近的项目需要开启无障碍功能然后实现对应的功能需求,但是由于需求是需要安装后就开启辅助功能,不要在繁琐的在设置中开启辅助功能,所以需要如何在应用中开启辅助功能。 二.前提条件 将普通应用转换成系统应用,然后将系统的framework.jar包放到应用中并且可以…

【知识总结】邀请功能的实现分析

邀请功能 功能分析 场景&#xff1a;项目中出现用户邀请其他用户加入群组的功能 需求&#xff1a;用户点击生成邀请链接可以生成一个url&#xff0c;将这个url分享给其他用户&#xff0c;其他用户点击后对用户登录状态进行校验&#xff0c;校验通过即可加入群组&#xff0c;…

QLORA:量化LLMA的有效微调

文章目录 摘要1、简介2、背景3、QLORA微调4、QLoRA vs.标准微调5、用QLoRA推动聊天机器人达到最高水平5.1、实验设置5.2、评价5.3、Guanaco:在OASST1上使用QLORA训练的最先进的聊天机器人 6、定性分析6.2、注意事项 7、相关工作8、限制与讨论9、更广泛的影响致谢QLoRA与标准微调…

css实现毛玻璃磨砂效果

预览效果 实现原理&#xff1a; backdrop-filter CSS 属性可以让你为一个元素后面区域添加图形效果&#xff08;如模糊或颜色偏移&#xff09;。 因为它适用于元素背后的所有元素&#xff0c;为了看到效果&#xff0c;必须使元素或其背景至少部分透明。 完整代码&#xff1a; …

3D创作应用《Masterpiece X》上线Quest平台

6月25日青亭网报道&#xff0c;《Masterpiece X》是一款3D创作类应用&#xff0c;主要特点是通过面向普通用户&#xff0c;提供更简单易用的创作工具。目前已经上线Quest 2和Quest Pro&#xff0c;重要的是这是一款免费工具。 该作来自于Masterpiece Studio&#xff0c;开发历经…

百度脑图切换账号

当然是清除cookie了&#xff01; 方法 在百度脑图页面右键&#xff0c;点检查 点小箭头&#xff0c;找到应用 找到cookie下的naotu.baidu.com&#xff0c;右键清除&#xff0c;然后刷新页面 重新登录&#xff0c;就有了

HTML系列

快捷键 表格快捷键&#xff1a;table>trn>tdn{a}&#xff08;n行n列&#xff0c;内容均为a&#xff09;无序列表快捷键&#xff1a;ul>li*n&#xff08;n代表无序列表的数量&#xff09; 对应表格快捷产出的样式&#xff08;不用管table内的参数设置&#xff0c;这里…

在windows上可视化redis中间件

首先需要下载一下RedisDesktopManager这个可视化工具&#xff0c;在很多CSDN博客上都有博主进行介绍&#xff0c;其实就是一个傻瓜式安装。 windows下安装redis的话可以去B站上查看一下怎么安装&#xff0c;主要是在github上去下载&#xff0c;目前更新的比较快&#xff0c;不…

winform项目-C#面向对象程序设计,深入浅出入门和进阶实战开发解决方案必知点 3 数组,循环,判断的综合案例,业务场景的初步应用尝试和快速实现

只能说白天真的很多的事情&#xff0c;但是具体什么事情呢&#xff0c;哦&#xff0c;好像去了一趟码家&#xff0c;然后上午的时间就一直在那边了&#xff0c;哄孩子&#xff0c;sister and boy。别人看起来&#xff0c;好像要说儿女双全了呢&#xff0c;不是非常令人羡慕的事…

Jetson 开机报错:no module named jtop.core.jetson_variables

环境说明&#xff1a; ubuntu18.04&#xff0c;python3.6. jetpack4.6.4&#xff0c;jetson-stats4.0.0rc3 开机报错如下 报错分析 Error found when loading /etc/profile, 因此打开该文件查看&#xff0c;文件内容指向 /etc/profile.d 文件夹&#xff0c;打开该文件夹 发现存…

uni-app uni.switchTab和uni.reLaunch跳转tabbar页面

uni.switchTab&#xff1a; 跳转列表不会刷新 跳转到 tabBar 页面&#xff0c;并关闭其他所有非 tabBar 页面。 uni.reLaunch&#xff1a; 跳转列表会刷新 关闭所有页面&#xff0c;打开到应用内的某个页面。&#xff08;可以跳转到tabBar 页面&#xff09; 但如果是列表的自定…