简单习题的复杂化经历
本文将展现博主的下饭操作,可能长期更新。
1
调和数的出现不禁让人思考有没有更简单的做法。
观察 \(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}}\),而将原式变为
简单的完成了推导,并且是可以从左式正向推出调和数,而不仅仅是证明已知的等式。
2
交互问题。交互库心中有 \(1,2,3\) 三数之一,你可以做如下操作:
- 询问交互库一个集合 \(S\),交互库会回答它想的数是否在这个集合中。但是,交互库可能在此时说谎,不过保证它不会连续说谎两次。
- 回答交互库一个数,交互库会返回这个数是不是它想的数。交互库此时不会说谎,也不会打断上述的连续说谎。
你要在至多 3 次 1 操作,2 次 2 操作之内,使用 2 操作正确回答问题。

时间差基本等于(博主思考这个问题的时间+10min)。
这个问题难住了数学国家队 20min,给出了若干假做法
正确做法
如果 \(S\) 是单元集而交互库返回了“在”,则可以通过如下策略完成:询问单元集中的元素。如果不是答案,说明上次说谎,于是获得了一次必定为真的询问机会,容易再用一次 1 操作+一次 2 操作得出答案。
连续询问两次 \(\{1\}\),若都为“不在”则 \(1\) 确实不在,分别回答 \(2,3\) 即可。否则使用上述策略完成。

浙公网安备 33010602011771号