#P6020. [Ynoi2010] Exponential tree

    ID: 9229 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>2010Special JudgeO2优化Ynoi

[Ynoi2010] Exponential tree

题目描述

对于给定的 n,kn,k,你需要构造一个只含 0,10,1 的矩阵 Ai,jA_{i,j},0≤i,j≤n0\le i,j\le n,满足:

  1. Ai,i=1A_{i,i}=1
  2. Ai,i+1=1A_{i,i+1}=1
  3. 对 i>ji>j 有 Ai,j=0A_{i,j}=0
  4. 若 Ai,j=1A_{i,j}=1,j−i>1j-i>1,则存在 i<t<ji<t<j,满足 Ai,t=At,j=1A_{i,t}=A_{t,j}=1
  5. 对 i≤ji\le j 有 (Ak)i,j>0(A^k)_{i,j}>0。

你需要输出满足 Ai,j=1A_{i,j}=1 且 j−i>1j-i>1 的每个 (i,j)(i,j),设这样的 (i,j)(i,j) 共有 mm 个。

若输出不满足要求,则不能得到该测试点的任何分数。若输出满足要求,则根据 mm 进行评分。

输入格式

一行,两个整数 n,kn,k。

输出格式

第一行一个整数 mm,接下来 mm 行,每行两个整数 i,ji,j,依次表示每个满足 Ai,j=1A_{i,j}=1 且 j−i>1j-i>1 的二元组 (i,j)(i,j)。

3 2
1
0 2

提示

对于 100%100\% 的数据,满足 1900≤n≤20001900\le n\le 2000 2≤k≤152\le k\le 15。

kk f(n,k)f(n,k)
2 7.987
3 3.8085
4 2.396
5 1.961
6 1.6065
7 1.451
8 1.2535
9 1.1975
10 1.099
11 1.07
12 1.034
13 1.0115
14 1.001
15 0.994

每个 2≤k≤152\le k\le 15 对应一个总分为 s(k)s(k) 的子任务,每个子任务的得分是子任务中每个测试点的得分的最小值。

每个测试点的得分为所在子任务的总分的 $\max\left(0,1-\sqrt{\max\left(0,\frac{m}{n\cdot f(k)}-1\right)}\right)$ 倍。