设选出的 k 个样本中,按照特征标识分为若干同源组,其中:
于是,若总共选了 k 个样本,那么本来一共有 (2k) 对样本。 其中,只有同组内的两个样本不会产生有效数据点,所以答案就是:
在数据实验中,实验室准备了 n 个样本。每个样本由三个整数 (ui,vi,wi) 描述,其中 ui 和 vi 均不为 0。对于任意两个样本,我们关心它们的“特征比值”。我们通过如下方式定义样本的特征类别:设 g=gcd(∣ui∣,∣vi∣),计算 ui′=ui/g,vi′=vi/g。如果 ui′<0,则取相反数 (−ui′,−vi′),否则不变。最终得到的有序对 (ui′,vi′) 称为该样本的 特征标识。若两个样本的特征标识相同,则称它们 同源;否则称为 异源。
研究员希望从中恰好选取 k 个样本,并将选出的样本两两配对。当且仅当一对样本 异源 时,它们才能成功配对并产生一个有效数据点。同源的样本无法产生有效数据点。研究员的目标是最大化有效数据点的总数。请你计算,在最优选择下,最多能获得多少个有效数据点。
约束:
第一行包含两个正整数 n 和 k,分别表示样本总数和需要选择的样本数量。 此后 n 行,每行包含三个整数 ui,vi,wi,表示第 i 个样本的三元组。
输出一个整数,表示能够获得的最大有效数据点数量。
输入
3 1
1 2 10
2 4 20
-1 -2 30
输出
0
说明
所有样本归一化后的特征标识均为 (1,2),全部同源。由于只需选择 k=1 个样本,无法进行配对,有效数据点数为 0。
输入
2 2
3 4 0
6 8 1
输出
0
说明
两个样本归一化后均为 (3,4),属于同源样本。即使将两个样本都选出来,它们之间也无法成功配对,因此最大有效数据点数为 0。
输入
4 3
1 1 1
2 2 2
1 2 3
2 1 4
输出
3
说明
各样本的特征标识计算如下:
与 (1,1) 同源的样本有 2 个,其余两组各 1 个。要选出 k=3 个样本,为了使有效数据点最大化,应当从三个不同组中各选 1 个样本,此时同源对数为 0,有效数据点达到 (23)=3。
输入
5 4
1 2 1
2 4 2
-1 -2 3
3 4 4
6 8 5
输出
4
说明
归一化后的特征标识:
3 个;2 个。我们需要选出 k=4 个样本。若选 3 个 (1,2) 与 1 个 (3,4),同源对数为 (23)=3;若每组各选 2 个,同源对数为 (22)+(22)=2。后者更优,此时总对数为 (24)=6,有效数据点为 6−2=4。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册