A.数列
原题可以被分成快速求 (A,B) 数列和求行列式两部分
第一部分考虑将原题中的式子分成 (n) 对 (4) 的模数进行考虑
那么不难用 (log n) 的时间将原题转化成一个 (frac{n}4) 的子问题,复杂度 (nlog^2n) ,不能通过
考虑预处理序列的前 (n) 位那么复杂度变为 (Theta(n+klog^2 frac{max}n))
第二问考虑设 (B_{F(x)}=sum_{k|x} g(k),g(x)=sum_{k|x} mu (frac{x}k) B_{F(k)})
所以矩阵会转化成 (Mat_{i,j}=[i|j]g(i)),证明考虑归纳,然后手动消下一行的元
这部分复杂度 (Theta(nlog n))
小球
先控一下 (m) 到 (log n),球多了可以直接二分
考虑 (f_{l,r,k}) 表示区间里面有 (k) 个小球的最小步数
转移这个小球的位置,两边取 (max) 再取 (min)
优化首先考虑区间位置可以忽略,那么状态转成 (f_{len,k}),转移就是枚举两边的区间长度
值得指出的是,转移左侧的时候并不需要减少小球的个数
转换一种相对简单的做法:(dp[i][j]) 表示 (i) 个球 (j) 次能得到的最大长度
转移是 (dp_{i,j}=dp_{i,j-1}+dp_{i-1,j-1}+1) 也就是从左边或者右边来
最后枚举一下找到第一个 (dp[m][j]) 大于 (n) 的 (j) 即可
考虑上式的组合意义,如果将 (g_{i,j}) 视作图上的一个点,那么可以每个点的 (dp) 值是往下走的方案数
能做 (Theta(log^2))?好像是组合数强行求和的样子,其实理解得不深刻
游戏
先鸽掉
挂分:T3 9分,T2 1分,T1 1分
策略:T2时间堆少了,再给一段时间应该是能堆出来的
明天换一个策略