杂谈
可能会什么东西都有……甚至和OI无关的内容也有可能。
算是允许自己幼稚的一片地方吧。
- 一个人无论其水平、知识掌握程度如何,往往也可以创造出独特的想法,而可被称做巧妙的。或许收集与记录这些灵光一现却不知有何作用的想法,不失为一件有意义之事。(2022.6.17)
- 一交互题,看起来好像是经典问题。受“UR4 元旦激光炮”的启发,我想出如下算法:
记 \(n\) 为序列个数,\(m\) 为序列长度。
设 \(d=\left\lfloor k/2\right\rfloor,len=\left\lceil d/n\right\rceil\)。则 \((len-1)\times n< d\)。
对每个序列询问第 \(len\) 个元素,取其中最小者,将其所在序列的前 \(len-1\) 个元素删去,并令 \(k\leftarrow k-len\),重复这段话直至 \(k\le(len-1)\times n\)。称这些操作为一轮。
一轮的每次删除操作只会改变一个序列,而 \(len\) 保持不变,因此事实上只需多询问一次即可维护当前所有序列的第 \(len\) 个元素。
一轮进行的询问次数约为 \(2n\),当 \(len\le 1\) 时进入边界,此时 \(k\le 2n\),可以暴力解决。
轮数是 \(\log_2 k\) 级别。因此总询问次数大约是 \(2n\log_2k\)。
标准算法的询问次数是稳定 \(n\log_2 m\)。
(2022.6.17) - 问题的一般性和特殊性是解决之的重要方面。以之比较见过的经典模型,归约至被解决的问题,或是使用惯常的手段解决,是我所崇尚的,或许亦可称为基于经验或方法论;然则,问题中特殊之处常能导出出人意料的处理方法或是针对性的高效解法。一道 \(\pmod {2^{32}}\) 的模拟赛题就是很好的例子,出题人给出的扩域方法无疑是具有其通用性,却又依赖于二阶递推的性质;而CXY的解决方法却直指模数与问题中系数的联系,可以说几乎只能作用于此题却效果显著。这就要求问题的解决者既能掌握足够多的技巧、方法、知识,又需要有针对特定问题加以创造,提出新型解法的能力。(2022.6.23)
- 特殊性虽然是问题特有的,然而有一大类问题具有相同的特殊性,如决策单调性。此时便延伸出一系列基于此的处理方法。特殊性也就变成了经典问题,成为了经验的一部分。(2022.6.23)