loj#P6881. 「THUPC 2023」百合
「THUPC 2023」百合
题目背景
葡萄藤上开不出百合花。
题目描述
你落在一个巨大的葡萄架上,上面一共有 朵百合花和 条葡萄藤。其中,百合花编号为 到 的整数,第 条葡萄藤连接了编号为 的百合花。
你可以花费 的时间通过第 条葡萄藤,也就是从 走到 ,或者反过来;还可以花费 的时间从 闪现到 ,其中 是任意两朵百合花, 是它们在二进制表示下不同的比特数。例如, 的二进制表示是 , 的二进制表示是 ,它们有两位不同,因此从 闪现到 花费的时间是 。
假设你恰好落在编号为 的百合花上,求从 出发到每一朵百合花所需要的最短时间。
输入格式
第一行包含三个正整数 ,其含义如题目描述。
第二行包含 个非负整数 (),其含义如题目描述。
第 至第 行每行三个非负整数 (),其含义如题目描述。
输出格式
输出一行 个数 (),空格隔开,其中 表示从 到 的最短时间。
3 6 2
17 14 11
0 2 3
4 2 9
2 2 1
2 2 6
7 0 5
4 2 9
3 14 0 17 9 11 17 8
数据范围与提示
保证 $k \leq 17,m \leq 2\times10^5, 0 \leq s,x_i,y_i \leq 2^k-1, 0 \leq a_i, c_i \leq 2^{30}-1$。
题目使用协议
来自 THUPC2023(2023年清华大学学生程序设计竞赛暨高校邀请赛)。
以下『本仓库』皆指 THUPC2023 官方仓库(https://github.com/THUSAAC/THUPC2023)
-
任何单位或个人都可以免费使用或转载本仓库的题目;
-
任何单位或个人在使用本仓库题目时,应做到无偿、公开,严禁使用这些题目盈利或给这些题目添加特殊权限;
-
如果条件允许,请在使用本仓库题目时同时提供数据、标程、题解等资源的获取方法;否则,请附上本仓库的 github 地址。