T1
题目大意
给N*M的网格图染色,问有多少种方案,使得任意一个h*w的矩阵中,黑色格子数量恒等。
题解
举例来说如果h=w=4,只要满足:
,列同理
即可
对x,y%4意义下分类考虑
那么注意到一个性质,对于
,必然有:
证明是这样的,首先讨论一下,不难发现a[x][y]=a[x+4][y]或者a[x][y]=a[x][y+4]是成立的,同时,如果在某一个方向延伸的时候(例如)从1变成0了,那么(例如是横向)下面两个位置就必须是1和0,并且这个1之前的位置也都是1,那么就可以得到纵向都要是两列1的结论,证完。
于是我们暴力枚举每个数字是向哪里相等即可,这二者独立,组合数即可。
为了避免重复计数,应当容斥,可以子集和变换,也可以不用,复杂度
T2
题目大意
给你n种物品,每种物品无限个,记f(m)表示恰好装满m的方案数,求
题解
首先有这样一个结论,令 ,那么对于相同的k,有 是关于i的N次多项式,然后要求这个东西的前缀和,那么就是一个N+1次的多项式,暴力之后拉格朗日差值即可。
T3
题目大意
构造一个DAG,点数不超过50,边数不超过100,使得合法的拓扑序恰好有x个,x不超过32767。
题解
略