简单习题的复杂化经历

本文将展现博主的下饭操作,可能长期更新。

1

\[f_n=\sum_{i\ge 1}\binom{n}{i}(-1)^{i-1}\dfrac{1}{i} \]

\[=-\sum_{i\ge 1}\binom{n}{i}(-1)^i\int_0^1x^{i-1}dx=-\int_0^1\dfrac{(1-x)^n-1}{x}dx \]

\[=-\int_0^1\dfrac{t^n-1}{t-1}dt=\left.-(\sum_{i=1}^n\dfrac{t^i}{i})\right|_0^1=\left.(\sum_{i=1}^n\dfrac{(1-x)^i}{i})\right|_1^0 \]

\[=\sum_{i=1}^n\dfrac{1}{i} \]

调和数的出现不禁让人思考有没有更简单的做法。
观察 \(f_n-f_{n-1}\) 固然是可以的,但是不容易在直觉中出现。试图使用吸收公式,从而拆 \(\binom{n}{i}=\binom{n-1}{i-1}+\binom{n-1}{i}\) 也是合理的,但是推到一半就 会发现和差分方法殊途同归。当然,上述两种方法都可以看成有限微积分更为初等的应用形式。
组合意义显然也是可以的,但是只能用于证明,用于化简的话我好像不能仅根据左式编造出适合的组合意义……
GF 卷积的角度想,可能会考虑二项卷积和 EGF。但是我并不会表示调和数的 EGF。如果考虑 OGF 卷积,应该是 \([x^n](1+x)^n\ln(1+x)=[x^n]\dfrac{-\ln(1-x)}{1-x}\),不是两个相等的 GF,而仅仅是某一项相等,或许从拉反考虑是可以证明的,但即使可以,也未免过于复杂了。
GF 复合的角度想,则应该注意 \(\binom{n}{i}=[x^n]\dfrac{x^i}{(1-x)^{i+1}}\),而将原式变为

\[[x^n]\sum_{i\ge 1}\dfrac{x^i}{(1-x)^{i+1}}(-1)^{i-1}\dfrac{1}{i} \]

\[=[x^n]\dfrac{\ln(1+x)\circ(\dfrac{x}{1-x})}{1-x}=[x^n]\dfrac{\ln(\dfrac{1}{1-x})}{1-x}=H_n \]

简单的完成了推导,并且是可以从左式正向推出调和数,而不仅仅是证明已知的等式。

2

交互问题。交互库心中有 \(1,2,3\) 三数之一,你可以做如下操作:

  1. 询问交互库一个集合 \(S\),交互库会回答它想的数是否在这个集合中。但是,交互库可能在此时说谎,不过保证它不会连续说谎两次。
  2. 回答交互库一个数,交互库会返回这个数是不是它想的数。交互库此时不会说谎,也不会打断上述的连续说谎。

你要在至多 3 次 1 操作,2 次 2 操作之内,使用 2 操作正确回答问题。

时间差基本等于(博主思考这个问题的时间+10min)。
这个问题难住了数学国家队 20min,给出了若干假做法

正确做法

如果 \(S\) 是单元集而交互库返回了“在”,则可以通过如下策略完成:询问单元集中的元素。如果不是答案,说明上次说谎,于是获得了一次必定为真的询问机会,容易再用一次 1 操作+一次 2 操作得出答案。
连续询问两次 \(\{1\}\),若都为“不在”则 \(1\) 确实不在,分别回答 \(2,3\) 即可。否则使用上述策略完成。

posted @ 2022-10-13 14:45  秋叶冬雪  阅读(370)  评论(4)    收藏  举报