#P10757. [WC2011] 关系挖掘

    ID: 12239 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2011提交答案Special JudgeWC

[WC2011] 关系挖掘

题目描述

有人说:“世界上任何两个人最多只需要通过 66 个人就能建立联系”。小 B 对此非常感兴趣,于是着手开展了一些社会网络中关系挖掘的研究工作。

现在小 B 得到了一个包含 NN 个人的社会网络数据,该网络中有 MM 条关系信息。一条关系信息可以表示为 (ai,bi,wi)(a_i, b_i, w_i),表示 aia_i 与 bib_i 两个人之间存在关系,且紧密度为 wiw_i(wi>0w_i>0)。现在小 B 希望挑选其中的 KK(K≤NK\leq N)个人作为研究对象,为使研究工作具有较高的可信度,小 B 希望这 KK 个人之间的关系紧密度之和尽量大。

该问题可抽象为:给定一个带权无向图 G=(V,E)G=(V, E) 和整数 KK,目标是求出点集 VV 的一个子集 SS,使得 ∣S∣=K|S|=K 且使下式最大化:

$$\sum_{(a_i,b_i,w_i)\in E \wedge a_i\in S \wedge b_i \in S} w_i$$

输入格式

这是一道提交答案的试题,在你的目录下有 1010 个输入文件 relation*.in。

输入文件的第一行为三个整数 NN,MM 和 KK,分别表示给定的社会网络中的点数(人数)、边数(关系数目)以及需要选择的点数(人数)KK。

接下来 MM 行,每行三个正整数 aia_i,bib_i,wiw_i,表示一条边(关系)。所有的点(人)按 11 到 NN 依次编号。

输出格式

对于每一个输入文件,在目录下给出对应的输出文件 relation*.out。

输出文件应包含 KK 行,每行一个整数,表示选出的 KK 个人的编号。

3 2 2
1 2 3
1 3 5 
1
3 

提示

【评分标准】

对于每个测试点,如果你没有输出或者输出不合法则得 00 分。

对于每个测试点,我们设有四个评分参数 m1m_1、m2m_2、m3m_3 和 m4m_4。假设选手选出的 KK 个人之间关系紧密度之和为 cc,

  • 若 c>m1c>m_1,得 1212 分;
  • 若 c=m1c=m_1,得 1010 分;
  • 若 m1>c≥m2m_1>c\geq m_2,得 88 分;
  • 若 m2>c≥m3m_2>c\geq m_3,得 55 分;
  • 若 m3>c≥m4m_3>c\geq m_4,得 33 分;
  • 若 c>0c>0,得 11 分;
  • 否则,得 00 分。