题目名称 1573. [SPOJ 839] 最优标号
输入输出 optimalmarks.in/out
难度等级 ★★★☆
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarcstdio 于2014-04-01加入
开放分组 全部用户
提交状态
分类标签
网络流 SPOJ
分享题解
通过:22, 提交:52, 通过率:42.31%
GravatarTenderRun 100 0.023 s 0.92 MiB C++
GravatarTenderRun 100 0.024 s 0.92 MiB C++
Gravatardydxh 100 0.038 s 0.42 MiB C++
GravatarAntiLeaf 100 0.045 s 0.66 MiB C++
Gravatarasdf 100 0.054 s 2.72 MiB C++
GravatarFoolMike 100 0.055 s 5.65 MiB C++
Gravatar_Itachi 100 0.063 s 0.51 MiB C++
Gravatar_Horizon 100 0.071 s 3.25 MiB C++
Gravatartry 100 0.074 s 3.25 MiB C++
Gravatarpatina27 100 0.076 s 0.46 MiB C++
关于 最优标号 的近10条评论(全部评论)
忘记打上lld的蒟蒻膜拜诸位神犇!
GravatarFoolMike
2017-03-04 13:30 5楼
ISAP目前高居榜首
GravatarTenderRun
2016-07-04 19:46 4楼
发现用了好久的网络流模型。。。竟然有bug
回复 @cstdio :
你不小心打错范围了:它是一个[0,2^23-1]内的整数
应该是32............
GravatarChenyao2333
2014-04-04 12:47 2楼
在SPOJ上要求输出方案,在最小化费用和同时最小化标号和……然后因为没看到这一句跪了一天……
Gravatarcstdio
2014-04-01 16:08 1楼

1573. [SPOJ 839] 最优标号

★★★☆   输入文件:optimalmarks.in   输出文件:optimalmarks.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】

给你一张无向图G(V,E)。每个顶点都有一个标号,它是一个[0,2^31-1]内的整数。不同的顶点可能会有相同的标号。

对每条边(u,v),我们定义其费用cost(u,v)为u的标号与v的标号的异或值。

现在我们知道一些顶点的标号。你需要确定余下顶点的标号使得所有边的费用和尽可能小。

【输入格式】

输入文件的第一行有两个整数N,M(1<=N<=500,0<=M<=3000),N是图的点数,M是图的边数。

接下来有M行,每行有两个整数u,v,代表一条连接u,v的边。

接下来有一个整数K,代表已知标号的顶点个数。接下来的K行每行有两个整数u,p,代表点u的标号是p。假定这些u不会重复。

【输出格式】

输出一行一个整数,即最小的费用和。

【样例输入】

3 2

1 2

2 3

2

1 5

3 100

【样例输出】

97

【提示】

一个可能的标号方案是:点1标5,点2标4,点3标100.

SPOJ上原题的输入输出格式和这里有所不同。

【来源】

SPOJ 839 Optimal Marks

Resource: Guo HuaYang