模拟测试60

Posted hz-rockstar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟测试60相关的知识,希望对你有一定的参考价值。

T1:

  约瑟夫问题。

  经证(da)明(biao)可知,最终答案计算方法是:

    答案由$1$开始,每次加$m$,若大于次数加一,就对次数加一取模。

  可以$O(1)$计算每次取模的位置,取模不超过$mlogn$次,于是时间复杂度为$O(mlogn)$。

T2:

  普及:向量叉积:$v_1=(x_1,y_1),v_2=(x_2,y_2) \Rightarrow \vecv_1\times \vecv_2=x_1*y_2-x_2*y_1$

  然而我只会拆平方干推式子:

    $\large \beginarrayll ans &=& \sum \limits_i=l^r \sum \limits_j=i+1^r (v_i \times v_j)^2 \\ &=& \sum \limits_i=l^r \sum \limits_j=i+1^r (x_iy_j-x_jy_i)^2 \endarray$

  考虑拆平方:

    $\large \beginarrayll ans &=& \sum \limits_i=l^r \sum \limits_j=i+1^r (x_i^2y_j^2+x_j^2y_i^2-2x_iy_ix_jy_j) \\ &=& \sum \limits_i=l^r \sum \limits_j=i+1^r x_i^2y_j^2 + \sum \limits_i=l^r \sum \limits_j=i+1^r x_j^2y_i^2 - \sum \limits_i=l^r \sum \limits_j=i+1^r 2x_iy_ix_jy_j \\ &=& \sum \limits_i=l^r \sum \limits_j=l^r [i!=j]*x_i^2y_j^2 - \sum \limits_i=l^r \sum \limits_j=l^r [i!=j]*x_iy_ix_jy_j \\ &=& \sum \limits_i=l^r x_i^2 (\sum \limits_j=l^r y_j^2 -y_i^2) - (\sum \limits_i=l^r x_iy_i (\sum \limits_j=l^r x_jy_j - x_iy_i)) \\ &=& \sum \limits_i=l^r x_i^2 \sum \limits_j=l^r y_j^2 - \sum \limits_i=l^r x_i^2y_i^2 - (\sum \limits_i=l^r x_iy_i \sum \limits_j=l^r x_jy_j - \sum \limits_i=l^r x_i^2 y_i^2) \\ &=& \sum \limits_i=l^r x_i^2* \sum \limits_i=l^ry_i^2 - (\sum \limits_i=l^r x_iy_i)^2\endarray$

  线段树中维护$\sum \limits_i=l^r x_i^2$,$\sum \limits_i=l^r y_i^2$和$\sum \limits_i=l^r x_iy_i$即可。

  时间复杂度$O((n+m)logn)$。

T3:

  经典的LCIS(最长公共上升子序列)问题。

  设$dp[i][j]$为第一个串考虑到第$i$位,第二个串选择第$j$位的最优答案。

  则有状态转移方程:
    $dp[i][j]=\max \limits_k<j^b_k<a_j\dp[i-1][k]\+1$

  我们发现第二维只能从小向大转移,所以从小到大枚举,同时更新当前最优答案,直接更新即可。

  至于方案,记录转移前驱即可。

  时间复杂度$O(nm)$。

以上是关于模拟测试60的主要内容,如果未能解决你的问题,请参考以下文章

csps模拟测试60

[CSP-S模拟测试60]题解

关于22.5KHz模拟脉冲信号(60V)占空比测试,占空比精度0.1%

csps-s模拟测试60嘟嘟噜,天才绅士少女助手克里斯蒂娜,凤凰院凶真题解

csp-s模拟测试50

noip模拟测试17 2019-08-11 题目解析