9.23 模拟赛订正题解

感觉是真的有点鬼畜啊这题目 来自我这个同学的小声bb

好了 我这个同学又来订正题目了 

T1 惊现数学必修五 数列 裂项相消的 关于带根号的放缩 别问我怎么知道的

考试前数学老师发的学案上 印着我们oi考试的T1 很痛心 不上数学课的我

不过 即使没有那个学案也能搞出来这个题目 因为 只要读题了 我们就知道T1 是用来做求

$$sum_{i=1}^{n} leftlfloorfrac1 {2sqrt{i}} ight floor$$

然后会不等式放缩的同学就比较舒服了 鉴于 我比较懒 公式比较难打 所以 明白了之后 我们可以 根据放缩的系数 以及 根号下加的东西考虑 进行放缩 都是 控制精度的好东西

所以最后的答案一定是属于一个范围的$ANSin(sqrt{n+1}-1,sqrt{n})$ 然后这个题目就做完了 考虑这个题目是可以与精度误差 所以你怎么做都可以

也可以 打表发现规律 至少考场上我是这么做的 然后 我考虑接下里做一个数列求和 然后解决一个二次方程 然后 我观察 方程的解是有范围的

所以 你可以缩小范围 然后求解即可 不过你要是 牛顿迭代法 我也不会拦你qwq 

T2 这个对递推比较熟练的话 其实就可以 很快搞出来这个题目的

首先 这个是个很经典的 汉诺塔问题 其实以前看书的时候就发现了 有n盘m塔的汉诺塔问题 但是当时也没有学习 考场上直接遇到了 

前$mle5$ 完全可以 先打表搞出来 但是对于 1500 的情况 我们不得不考虑 一个比较好的递推式了

显然 当$m==3$ 时 $d_n$ 表示有n个盘子的最小步数 $d_n=2*d_{n-1}+1$  

对于$m==4$时 $f_n=min_{i in [0,n)} (2*f_i+d_{n-i})$

所以$mge5$的时候 我们不妨考虑对于n盘m塔递推公式就是$f[n][m]=min_{k in [0,n)} (2*f[k][m]+f[n-k][m-1]) $

你以为你这样n2m就能过70分了吗 不 你要写高精度 推出来式子不写高精也就是20分嗷嗷

我们可以发现对于m固定的时候 k随n单调递增 当圆盘增多的时候 当前操作的圆盘数量也会增多

否则如果圆盘少的时候 操作的圆盘数量多 当前操作的圆盘数量 总会得到一个不会更差的解

所以可以考虑单调指针优化这个事情 复杂度是(nm)那么 预处理之后就变成了(1)

T3 好鬼畜啊 爆搜都不会写啊 

现在还是不会 什么长链剖分啊qwq 又去问了问大佬 大致知道怎么做了

我们当前需要知道连通块有多少个 也需要知道满足条件的连通块的个数有多少个 考虑 一个树形dp

设$f_{i j}$表示以i为根的子树内 距离不超过j的儿子的数量 $g_{i j}$ 表示以i为根的子树内 满足距离为j的连通块的数量 

原文地址:https://www.cnblogs.com/Tyouchie/p/11576577.html