1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

给定一条从 1 到 uuu 的简单路径,允许至多一次选择一个连续边段 [l,r][l,r][l,r] 把该段内每条边权 www 改为 w⊕xw\oplus xw⊕x 后再求路径边权和的最小值。等价地看:沿着路径行进时,我们会有三种“状态”:

  • 状态 0:尚未开始异或段(之后的某一段可开始,也可以永不开始);
  • 状态 1:正处于异或段中(本段内边权以 w⊕xw\oplus xw⊕x 计);
  • 状态 2:已结束异或段(之后再以原权 www 行走,不可再开启)。

把“路径上一段用 w⊕xw\oplus xw⊕x”的限制,转化为分层图最短路(Dijkstra):

P3757.第3题-米小游的异或最短路

    1000ms Tried: 7 Accepted: 4 Difficulty: 7 所属公司 : 米哈游
    算法与标签>最短路算法

题目内容

给定一个有 nnn 个结点以及 mmm 条的带权有向图 GGG ,以及一个整数 xxx 。GGG 中保证没有自环。

米小游初始在结点 111。对于一条从 111 到 uuu 的长度kkk 为的 简单路径,设其经过的 点 为p1,p2,...,pk+1p_1,p_2,...,p_{k+1}p1​,p2​,...,pk+1​,其中 p1=1,pk+1=up_1=1,p_{k+1}=up1​=1,pk+1​=u ,且对于所有 1≤i≤k1≤i≤k1≤i≤k,GGG 中都存在一条 pip_ipi​ 从到 pi+1p_{i+1}pi+1​ 的有向边。这条路径的代价计算方式如下:

  • 米小游可以选择两个整数 l,rl,rl,r ,满足 1≤l≤r≤k1≤l≤r≤k1≤l≤r≤k 。接下来,对于所有的 l≤i≤rl≤i≤rl≤i≤r,米小游将到这条有向边的边权异或上 xxx 。也就是说,如果原本这条边的边权为 www ,米小游会将其修改为 w⊕xw⊕xw⊕x ,其中 ⊕⊕⊕ 代表按位异或。本操作最多执行一次。
  • 路径的代价即为修改之后,所有其经过的边的边权和。
  • 从结点 111 到 iii 的最小代价即为所有可能的从结点 111 到 iii 的路径中的最小代价。

米小游想知道,在这样的代价计算方式下,他到过每个结点的最小代价分别是多少。

注意:为某条路径选定并执行异或操作后,仅用于计算该路径的代价;图本身不会被真正修改,评估其他路径时可重新自由选择 l,rl,rl,r ,或不执行此操作。

【名词解释】

简单路径:不经过重复点和重复边的路径。

输入描述

第一行输入三个整数 n,m,x(2≤n≤105,1≤m≤2⋅105,0≤x≤109)n,m,x(2≤n≤10^5,1≤m≤2·10^5,0≤x≤10^9)n,m,x(2≤n≤105,1≤m≤2⋅105,0≤x≤109) ,分别表示 GGG 中的结点数量、边数,以及异或时常数。 接下来 mmm 行,每行输入三个整数 ui,vi,wi(1≤ui,vi≤n,0≤wi≤109)u_i,v_i,w_i(1≤u_i,v_i≤n,0≤w_i≤10^9)ui​,vi​,wi​(1≤ui​,vi​≤n,0≤wi​≤109) ,代表一条从结点 uiu_iui​ 到 viv_ivi​,边权为 wiw_iwi​ 的有向边。输入保证 GGG 中不存在自环。

输出描述

输出一行 nnn 个整数,其中第 iii 个整数代表从结点 111 到 iii 的路径的最小代价,无法到达则第 iii 个整数为 −1-1−1 。

样例1

输入

5 5 2
1 2 2
1 5 3
5 3 4
2 4 10
1 4 9

输出

0 0 5 8 1

说明

对于结点 444 ,米小游可以选择路径 1→2→41→2→41→2→4 ,并将 1→21→21→2 和 2→42→42→4 两条有向边的边权异或上,代价为 (2⊕2)+(10⊕2)=0+8=8(2⊕2)+(10⊕2)=0+8=8(2⊕2)+(10⊕2)=0+8=8 。可以证明不存在代价小于 888 的路径。 对于结点 333,米小游可以选择路径 1→5→31→5→31→5→3,并将 1→51→51→5 这条有向边的边权异或上 xxx ,代价为 (3⊕2)+4=1+4=5(3⊕2)+4=1+4=5(3⊕2)+4=1+4=5。可以证明不存在代价小于 555 的路径。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 35ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?