B:
考虑用\(D(n,r)\)表示在\(r\)维空间中有\(n\)个超平面最多形成多少个区域,感觉不是很好做,考虑一下怎么递推。根据在二三维的经验,我们可以得到以下递推式:
\(D(n,r)=D(n-1,r)+D(n-1,r-1)\) ,实际意义就是原来已经有了\(n-1\)个然后再加入一个之后,会与前面的\(n-1\)个超平面在\(r\)维空间中交在一些\(r-2\)维的超直线上,切割部分最大就是\(D(n-1,r-1)\)。
猛然发现这个玩意长得和组合数递推一模一样,本以为是组合数了但是发现边界条件不一样,但是猜测和组合数脱不了关系。
考虑在二维时候的样子:\(n\times{(n+1)}/2\) 尝试用组合数分解一下,发现是\(C(n,2)+C(n,1)+C(n,0)\),再次猜结论:\(D(n,r)=\sum_{i=0}^{r}\binom{n}{i}\)。这个时候归纳验证一下就对了(感觉猜结论为主,要是猜到了证明自然是简单的)。
然后就显然了。
C:
首先看到\(n\le6000\)自然是想到暴力,但是发现CF远古题时间乘2,所以大概过不了。
考虑把S的SAM建出来,判断一个SAM节点右侧是否有两个不同的出现是容易的,只需要建的时候记录一下endpos的下一位然后在parent tree进行合并即可。那如何判断一个节点是否前面都相同呢,貌似不是很好判断。
考虑一个节点可能的长度区间\((len[par[x]],len[x]]\),发现只有在\(len[x]\)的时候才有可能是不同的,要不然就不可能是endpos相同的等价类了。但是细想一下就又会发现:\(len[x]\)时肯定是不同的(如果有超过1个endpos),要不然根据SAM的len最大的性质,len[x]-1就也可以在这个pos区间内,所以左边的限制在SAM上自然消失了,只需要右边满足即可。
E:
考虑周期如果为\(p\),在\(x\)足够大的时候会有\(f(x)=f(x+p)\),如果遇到\(pair(f(x-1),f(x))\)与\(pair(f(y-1),f(y))\)相同,那么就有p是abs(y-x)的因数。考虑一下随机化,随出来一个y-x然后再枚举最小的因数即可,感觉p应该是1e11左右,不会很大,所以可以通过。
随机化的如果随机不出来的概率其实是:
\(\frac{p\times{(p-1)}..\times{(p-n+1)}}{p^n}\)
在p=1e11,n=5e5的时候已经到达10-8级别,而在n=1e6的时候更是到达了10-232级别(不知道double是不是寄了,但是他确实显示了-232),所以是肯定正确的。
不过mt19937记得要开64位。
F:
没啥难度的简单dp,考点主要在高精度吧。
是否可以转移可以暴力判断,没必要优化。一个转移系数为1,一个是A(k,len)。
G:
打表打了一下,发现答案是\(ceil(sqrt(n))\),考虑对其进行构造,显然的是放t段,然后每段t个,段内递减,段首递增,就可以做到t了。
交了一发挂了,然后发现还要字典序最小。
再考虑构造一下字典序最小,分成t段是要的,然后我们要越前面的段个数越少,所以从后往前每次尽力填就行。
H:
首先凭直觉觉得是分成每组r-1个,然后组内直接连边,再考虑组外连边,但是不太可行。随后画了画图感觉可以把组的个数和大小调换一下,这样就可以满足条件了,具体证明还没有想。
标签:ASC8,SAM,题解,len,times,然后,考虑,endpos From: https://www.cnblogs.com/IceYukino/p/17413216.html