8.25模拟赛

T1

  • 考场上60pts的暴力

    • 时间复杂度$O(n^2-nk)$

    • 最大的数据点是一定过不了的。

  • 考点

    分块

  • 思路

    利用分块的思想,以k个为一块,对于块内的每个位置求出head[i]表示从该块块头到该位置的前缀乘积,tail[i]表示从该位置到该块块尾的后缀乘积。时间复杂度$O(n)$


T2


T3

  • 考点

    数学

  • 思路

    $\because \frac{N-\frac{1}{2}T}{N-T}$为整数,

    $\therefore\frac{N-\frac{1}{2}T}{N-T}=k$

    $N-\frac{1}{2}T=k(N-T)=kN-kT$

    $(1-k)N=(\frac{1}{2}-k)T$

    $T=\frac{1-k}{\frac{1}{2}-k}N=\frac{2k-2}{2k-1}N$

    $\because gcd(2k-1,2k-2)=1$

    $\therefore 2k-1|N$

    枚举判断n的因数


T4

  • 考场上咕了去水知乎的题