2025-8-11 总结

构造

Range = √Sum

情况

  • 时间:\(30min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 分讨

思路

我们可以分讨 \(n\) 的奇偶性:

  1. 我们先构造一个数组 \(a\)\(\{\lceil\frac{n}{2}\rceil,\lceil\frac{n}{2}\rceil+1\,,\cdots,n+\lfloor\frac{n}{2}\rfloor\}\),所以这个数组的总和为 \(n^2\),最大和最小的两个数相差 \(n-1\),所以我们可以将 \(a_1\) 加上 \(1\)\(a_{n-1}\)\(a_n\) 加上 \(3\),其余的数加上 \(2\)。这样一来,这个数组的总和为 \(n^2+2n+1\),最大和最小的两个数的差值变为 \(n+1\),满足情况。
  2. 我们可以构造出数组 \(a\)\(\{\frac{n}{2},\frac{n}{2}+1,\cdots,n-1,n+1,\cdots,\frac{3n}{2}-1,\frac{3n}{2}\}\),这样数组的总和为 \(n^2\),并且最大的数和最小的数是差为 \(n\)

分析

这道题我就在草稿纸上写了一连串的数,然后尝试有没有一种方法可以使得每次都满足情况,然后就开始分讨奇偶性,然后就做出来了。

Alternating Series

情况

  • 时间:\(5min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 思维

思路

我们可以发现满足情况并且都要小就要奇数位置都为 \(-1\),然后我们考虑如何填其他的位置,由于即需要数字小,又要满足和为正数,所以最小就要填 \(3\)。但有一个特例,就是 \(n\) 为偶数时最后一个数是整数,后面没有负数了,所以最后一个可以变成 \(2\)

分析

同上。

Diane

情况

  • 时间:\(30min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 思维

思路

我们先看一个全为字母 a 的长度为 \(n\) 的字符串,我们发现如果 \(n\) 为偶数,则长度为 \(1\sim n\) 的数量为偶、奇循环,为奇数则是奇、偶循环,所以我们可以构造两个不相邻的字符串,全为字母 a 并且一个长度为 \(n\) 一个为 \(n+1\),在这两个字符串中间再添加一些字母即可保证出现次数全为奇数。

分析

这道题我一开始想构造一些循环,发现这种是错误的,可以被 \(hack\) 掉,所以我也就想到了构造连续相同字母的字符串,然后就按照上面的方法做出来了。

Tokitsukaze and Two Colorful Tapes

情况

  • 时间:\(20min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 思维,图论

思路

我们发现如果将两个数组中数字相同的两个点相连,可以出现若干个环,所以我们可以花几个环就可以发现一个环对答案的贡献为这个环内最大的 \(\lfloor\frac{n}{2}\rfloor\) 个减去最小的 \(\lfloor\frac{n}{2}\rfloor\) 个的两倍,所以直接用一个变量 \(cnt\),加上每个环长度的 \(\frac{1}{2}\) 向下取整。所以组后答案为:

\[2\times(\sum_{i=n-cnt+1}^ni-\sum_{i=1}^{cnt}i)=2\times(n-cnt)\times cnt \]

分析

同上。

Circular Spanning Tree

情况

  • 时间:\(20min\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 图论,思维

思路

这道题可以直接构造出一些少一条边的环,然后相连即可。每次环断开的地方为开头和这个开头后面第一个为 \(1\) 的位置,这样就可以过了。

分析

一开始想的就是把相邻的两个连在一起,然后去掉一个边,再添加一些边,按上面的做其实跟这样想的构造出来的是一样的。

Rectangular Congruence

情况

  • 时间:\(1h\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 思维

思路

首先我发现了一个规律,就是当 \(a_{i,j}=i\times j\) 时,这个矩阵一定合法,所以现在的问题就是如何把 \(a_{i,i}\) 变为 \(b_i\) 并使得也合法,我花了一下图发现只要将这一行的所有数加上 \(b_i-a_{i,i}\) 即可,所以这样构造就过了。

分析

其实我花了一下图 \(20min\) 就发现了第一个规律,但是不知道如何变化使得 \(a_{i,i}=b_i\),我一开始想把这个矩阵平移,结果发现不一定可行,所以就尝试着每一行加上 \(b_i-a{i,i}\) 结果发现过了。

Defender of Childhood Dreams

情况

  • 时间:\(1h\)
  • 预期:\(\text{AC}\)
  • 实际:\(\text{AC}\)

知识点

  • 思维

思路

我们先将 \(1,2,3,\cdots,k\) 这些点之间的所有边都染上颜色 \(1\),因为这 \(k\) 个点之间的最长边的长度也没到 \(k\)。同理,将 \(k+1,k+2,k+3,\cdots,2k\) 之间的所有边都染上颜色 \(1\),将 \(2k+1,2k+2,2k+3,\cdots,3k\) 之间的所有边都染上颜色 \(1\),以此类推,最后到 \(k^2−k+1,k^2−k+2,k^2−k+3,\cdots,k^2\) 这些点之间的所有边都染上颜色 \(1\),简单来说,就是现将 \(n\)\(k\) 个元素为一组分组,组内全部边都染 \(1\)。接下来,考虑将这 \(n\) 个数按照 \(k^2\) 个元素为一组再进行分组,属于同一组内的两个点间还没有染色的边都染上颜色 \(2\),所以这样就能保证这 \(k^2\) 个元素之间的所有长度等于 \(k\) 的路径上的颜色种类数至少有两个了。所以看两个数相除的结果(假设为 \(x\)),所以最后答案为 \(\lceil\log_kx\rceil+1\)

分析

同上。

posted @ 2025-08-11 14:40  小熊涛涛  阅读(10)  评论(0)    收藏  举报