对于100%的数据,有1<=n<=1e6,a<=200,T<=10
问题转换成一个n*n正方形网格,每行每列恰好选一个格子,左下角和右上角的三角形区域不能选,求方案数。先强制右上角不能选,根据左下角选的格子数量进行容斥:
其中f[a][i]表示a*a的三角形中选i个格子的方案数。考虑三角形斜边上选k个格子,消去对应行列后形成(i-k)*(i-k)的三角形,但这个三角形的斜边不能选。
时间复杂度O(a^3)
对于100%的数据,有1<=n<=1e6,a<=200,T<=10
问题转换成一个n*n正方形网格,每行每列恰好选一个格子,左下角和右上角的三角形区域不能选,求方案数。先强制右上角不能选,根据左下角选的格子数量进行容斥:
其中f[a][i]表示a*a的三角形中选i个格子的方案数。考虑三角形斜边上选k个格子,消去对应行列后形成(i-k)*(i-k)的三角形,但这个三角形的斜边不能选。
时间复杂度O(a^3)
转载于:https://www.cnblogs.com/pthws/p/11148825.html