#P10874. [COTS 2022] 旅程 Dugput(非官方数据)

    ID: 10337 Type: RemoteJudge 5000ms 500MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>2022Special JudgeO2优化CEOI(中欧)构造COCI(克罗地亚)

[COTS 2022] 旅程 Dugput(非官方数据)

题目背景

译自 Izborne Pripreme 2022 (Croatian IOI/CEOI Team Selection) D2T1。5s,0.5G\texttt{5s,0.5G}

  • 输入格式有微调。
  • 官方数据有误。 部分 out 文件是使用树姐姐 hhoppitree 的代码生成的。如果出现了分数 >100\gt 100 的情况,欢迎联系搬题人更新数据。

题目描述

构造一个 N×MN\times M 的网格图,边权均为 11,每条边可以存在或者不存在。

在连通的前提下,最大化 (A,B)(A,B)(C,D)(C,D) 的最短路长度。

此处路径长度定义为路径经过的节点个数。

输入格式

本题单个测试点内含有多组测试数据。

第一行,两个整数 type,T\mathrm{type},T,表示测试数据类型和测试数据组数。

接下来 TT 行,每行 66 个整数 N,M,A,B,C,DN,M,A,B,C,D,含义见题面。

输出格式

每组测试数据输出若干行。

  • type=0\mathrm{type}=0:「构造」类数据

此类数据中,你需要构造一个网格图。输出 (2N1)(2N-1) 行,每行 (3M2)(3M-2) 个字符。

其中,第 (2i1)(2i-1) 行的第 (3j2)(3j-2) 个字符代表点 (i,j)(i,j)。当 (i,j)=(A,B)(i,j)=(A,B)(S,T)(S,T) 时,用 *(ASCII 42)表示;否则用 o(ASCII 111)表示。

对于同一行的两个点 (i,j),(i,j+1)(i,j),(i,j+1),若有边,则用 --(ASCII 45)填充它们之间的两个空格;否则不填充。

对于同一列的两个点 (i,j),(i+1,j)(i,j),(i+1,j),若有边,则用 |(ASCII 124)填充它们之间的一个空格;否则不填充。

未填充的区域均用空格补齐。不要输出多余的空格和空行。

可参阅样例输出。

  • type=1\mathrm{type}=1:「传统」类数据

只需要输出一行一个整数,表示最短的最长路长度。

0 2
2 3 1 1 2 2
3 3 1 1 3 3
*--o--o
      |
o  *--o
*  o--o
|  |  |
o  o  o
|  |  |
o--o  *
0 2
2 3 1 1 2 2
3 3 1 1 3 3
*--o  o
   |
o  *  o
*  o  o
|
o  o--o
|  |  |
o--o  *
1 2
2 3 1 1 2 2
3 3 1 1 3 3
5
9

提示

对于 100%100\% 的数据,保证:

  • 1N,M50001\le N,M\le 5\, 000
  • 1T16001\le T\le 1\, 600
  • 1A,CN1\le A,C\le N1B,DM1\le B,D\le M
  • (A,B)(C,D)(A,B)\neq (C,D)
子任务编号 NMN\cdot M\in MM\le type=\mathrm{type}= 分值
11 [2,100][2,100] 50005\, 000 00 2020
22 [2,1000][2,1\, 000] 2525
33 [2,15000][2,15\, 000] 33 1515
44 [2,100000][2,100\, 000] 50005\, 000 2525
55 11 1515

【评分方式】

  • type=0\mathrm{type}=0:「构造」类数据

did_i 为第 ii 组测试数据中,你构造的方案中的最短路长度,DiD_i 为可能的最长最短路长度。记

K=1Qi=1QdiDiK=\frac{1}{Q}\sum_{i=1}^Q\frac{d_i}{D_i}

K=1K=1 时,该测试点得满分;否则得 0.7K0.7\cdot K 倍测试点得分的分数。

每个子任务的得分为所有测试点得分的 min\min

例如,样例 11 的输出得满分;对于样例 22,$\displaystyle k=\frac{1}{2}\left(\frac{3}{5}+\frac{5}{9}\right)=\frac{31}{45}$,将得到 0.731450.482\displaystyle 0.7\cdot \frac{31}{45}\approx 0.482 倍测试点得分的分数。

  • type=1\mathrm{type}=1:「传统」类数据

和传统题评分方式相同。