csps模拟测试60

Posted starsing

tags:

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

  T1:

  加个剪枝。

  我忘了移项这件事。

  高考大坑。

  约瑟夫不多bb

  T2:

  高考化柿子大坑。

  其实我一直不太觉得两头的平方是一样的,我觉得只是他们的和很特殊。

  来刚。sx,sy,sxy均为平方或乘积的前缀和。

  $\sum \limits_i=1^n\sum \limits_j=i+1^n(x_iy_j-x_jy_i)^2$

  $\sum \limits_i=1^n\sum \limits_j=i+1^nx_i^2y_j^2+x_j^2y_i^2-2x_iy_jx_jy_i$

  最左侧是$\sum \limits_i=1^nx_i^2(\sum \limits_j=i+1^ny_j^2)$

  最右侧是$\sum \limits_i=1^ny_i^2(\sum \limits_j=i+1^nx_j^2)$

  如果吧左右都拆开再加在一起,

  观察一下就会发现,如果按每一个xi乘的一陀y来看的话:

  比xi大的yi在左侧有,比xi小的yi都在右侧,

  因此左侧的就会变成$\sum \limits_i=1^nx_i^2(y_1^2+\cdots+y_i-1^2+y_i+1^2+\cdots+y_n^2)$

  然后我可以发现我如果补上一个$x_i^2y_i^2$就圆满了。

  因此两端是$\sum \limits_i=1^nx_i^2 \sum \limits_i=1^ny_i^2-\sum \limits_i=1^n\sum \limits_j=1^nx_i^2y_i^2$

  中间仍然考虑可以考虑这么一件事,把$x_iy_i$看作一个$t_i$,把2倍拆开。

  把一倍写成$\sum \limits_i=1^nx_iy_i(x_i+1y_i+1+\cdots+x_ny_n)$

  另一倍写成$\sum \limits_i=1^nx_iy_i(x_1y_1+\cdots+x_i-1y_i-1)$

  比$t_i$小的在左侧,比$t_i$大的在右侧,还是一样的加在一起

  $\sum \limits_i=1^nx_iy_i(x_1y_1+\cdots+x_i-1y_i-1+x_i+1y_i+1+\cdots+x_ny_n)$

  然后再补一个$x_i^2y_i^2$就行了。

  $(\sum \limits_i=1^nx_i^2)(\sum \limits_i=1^ny_i)^2-\sum \limits_i=1^nx_i^2y_i^2$

  然后在用两端的减去中间的值,直接消掉$\sum \limits_i=1^nx_i^2y_i^2$,得到可以维护的柿子。

  $\sum \limits_i=1^nx_i^2\sum \limits_i=1^ny_i^2-(\sum \limits_i=1^nx_iy_i)^2$

  然后就可以树状数组了。

  T3:

  LCIS直接DP即可。

  注意定义可以修改然后直接用这个数组限制上升。

  然后直接用非连续零散内存维护即可。

  

  

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

csps模拟测试50反思

csps模拟测试92反思

csps模拟测试57

csps模拟测试58

csps模拟测试72

CSPS模拟 60