Day 12.1模拟赛游记

模拟赛之难,难如上青天!


T1.Catalan

题目大意:求(n)个数的序列通过进栈出栈操作后的排列数,其中有(m)条约定形如(x_i)必须在(y_i)后出栈。

想想(Catalan)数的递推公式:(C_n=sum_{i=0}^{n-1}C_i imes C_{n-i-1})。即对于(n)个数,枚举最后出栈的数,因为(i)为最后一个出栈的数,所以(1sim i-1)的数都已经出栈了,而(i)进栈到出栈的序列中又是(i+1sim n)的序列,所以以(i)为分界点,两边的方案数相乘即为总方案数。而对于这题,即添加了一些限制,使得某些数不能作为最后出栈的数,比如对于(x_i)必须在(y_i)之后出栈,那么(y_i)就不能作为最后的出栈数。因此,把一个数两边分别作为(x)轴和(y)轴,那么对于一个限制,就是在这个平面上出现了一些点不能取,用前缀和即可。

T2.team

题目大意:求(Lsim R)区间内无重复数字子区间的数量,有修改:将(a_x)改为(y)

有一个经典的套路,对于每一个数,用(net_i)表示第(i)个数后面第一个与它数值相等的数的下标。对于一个无重复数字的区间,一定要满足(min_{i=l}^r{net_i}>r),因此对于一个(Lsim R)的区间,答案就为(sum_{l=L}^R min(min_{i-l}^R{net_i},R-1)-L)。用线段树维护即可。

T3.math

题目大意:给定(n,m),求

[sum_{i=1}^nsum_{j=1}^m gcd^n(i,j)sum_{k=1}^{ij}[iperp k][jperp k]*k ]

数论水题,有手就行,大力推柿子即可(可惜我是个残疾人)

T4.xor

(giao!)打了(70)分的我炸成(40),一种植物

原文地址:https://www.cnblogs.com/jkzcr01-QAQ/p/14071338.html