BZOJ:(270,300]

9/30

BZOJ3038:线段树,不带lazy标记,直接修改叶子。

BZOJ3211:同3038

BZOJ1406:将式子转换成[(x-1)*(x+1)%n==0]然后枚举i。当i=x-1时,i*(i+2)%n==0;当i=x+1时,i*(i-2)%n==0;i是n的因数

BZOJ3916:字符串hash。分类讨论字符的位置。

BZOJ1589:缩点后是个DAG,然后DAG上dp

BZOJ1072:状压dp,或者暴力。都需要去重。不过暴力可以不用组合数学。

BZOJ1419:期望dp,设dp[i][j]为红牌取了i张,黑牌取了j张的期望。滚一滚优化空间。

BZOJ2956:写到最后懒得写乘法逆元去hzwer那偷了个inv(6)…整除分块搞一波。如果没有i≠j。根据乘法分配律发现是可以拆开的。变成n*n-∑floor(n/i)*i+m*m-∑floor(m/i)*i。后面那式子拆开分别处理就行了。

新姿势∑i^2=n*(n+1)*(2n+1)/6

BZOJ1079: 看到数据范围很小,先猜一波状压。 然后发现压不下,发现对于$c_i$相同的,他们对答案的贡献是相同的。 也就是说若$c1=c2$ 那涂1或者涂2是等价的。 然后就转换成

$f_{a,b,c,d,e,lst}$表示还有几个1的,几个2的,几个3的…转移很好理解,从哪里转移的,这次和它肯定不一样。直接(x-1)*方案数。

posted @ 2019-01-28 15:22  ZincSabian  阅读(145)  评论(0编辑  收藏  举报