2018年一轮省队集训Day2 - 多项式 - 拉格朗日插值 - 容斥原理

T1
题目大意

给N*M的网格图染色,问有多少种方案,使得任意一个h*w的矩阵中,黑色格子数量恒等。 N , M 10 9 , h , w 4

题解

举例来说如果h=w=4,只要满足:
a [ x ] [ y ] + a [ x + 4 ] [ y + 4 ] = a [ x + 4 ] [ y ] + a [ x ] [ y + 4 ]
i = 1 4 a [ x ] [ i ] a [ x + 4 ] [ i ] = 0 ,列同理
即可
对x,y%4意义下分类考虑
那么注意到一个性质,对于 x , y 4 ,必然有:
a [ x ] [ y ] = a [ x + 4 ] [ y ] = a [ x + 8 ] [ y ] . . . , o r   a [ x ] [ y ] = a [ x ] [ y + 4 ] = a [ x ] [ y + 8 ] = . . .
证明是这样的,首先讨论一下,不难发现a[x][y]=a[x+4][y]或者a[x][y]=a[x][y+4]是成立的,同时,如果在某一个方向延伸的时候(例如)从1变成0了,那么(例如是横向)下面两个位置就必须是1和0,并且这个1之前的位置也都是1,那么就可以得到纵向都要是两列1的结论,证完。

于是我们暴力枚举每个数字是向哪里相等即可,这二者独立,组合数即可。
为了避免重复计数,应当容斥,可以子集和变换,也可以不用,复杂度 O ( 2 h w ( h + w ) 2 )

T2
题目大意

给你n种物品,每种物品无限个,记f(m)表示恰好装满m的方案数,求 i = L R f ( i ) , n 10 , a i 10 5 , R 10 17

题解

首先有这样一个结论,令 L = L C M ( A i ) ,那么对于相同的k,有 f ( i L + k ) 是关于i的N次多项式,然后要求这个东西的前缀和,那么就是一个N+1次的多项式,暴力之后拉格朗日差值即可。

T3
题目大意

构造一个DAG,点数不超过50,边数不超过100,使得合法的拓扑序恰好有x个,x不超过32767。

题解

猜你喜欢

转载自blog.csdn.net/mys_c_k/article/details/80641379
今日推荐