2017.10.06【NOIP提高组】模拟赛B组总结

比赛时:80+0+0+90=170.
第三题暴力100,我暴力打错了…….

总结

T1:【NOIP2013初赛】整除
也算花了很多心思。
我们用容斥原理来做。首先是R-L+1个数。
然后减去所有数的倍数个数,再加上每两个数的最小公倍数的倍数个数,减去每三个数的最小公倍数的倍数个数…..一次类推。
就可以啦。
T2:铺砖问题
最猥琐的一道题。
分两块做:
①前50%
很显然是状压dp,我们设f[i][j]表示前i行,第i行状态为j的方案数。
状态中,1表示下凸,0表示其他。
然后我们预处理出所有搭配起来合法的状态,就可以直接转移。
什么叫合法呢?就是这两个状态i和j,i&j=0因为不可能两个都下凸,这样就重叠了。
而且i|j以后,连续的0必须是偶数个,不然就不会合法,这很显然。
②后50%
我们发现每次我们预处理的东西p[i][j]=1表示从i这个状态转移到j这个状态合法。
那么每次转移一行都是这个所以直接就可以用一个矩阵乘法,也就是你预处理那东西,直接快速幂上n次,答案就是p[0][0]了。
T3:【NOIP2012初赛】新壳栈
暴力水题,考试打萎。
正解就是用一个双向队列来储存前面的c位,然后旋转的时候标记一下它是正着的还是倒着的就好了。
T4:【NOIP2013初赛】青蛙
比赛的时候90分,因为1的情况没有特判。
其实就是设f[i]表示跳到第i片荷叶的期望值。
就是说

f[i]=i1j=1f[j]i1+1

然后左边的那个式子是可以预处理的。
其实答案就是: 1+12+....+1n1+1

你可能感兴趣的:(2017.10.06【NOIP提高组】模拟赛B组总结)