BZOJ 3907
题意:见上。
注意到$n=m$时是卡特兰数。
也可以考虑正方形的时候,可以发现三角形的情况就是正方形的方案数除以正方形边包含的点数。(从简单情况入手)
也可以进行 DP,设$dp(i,j)$为$(0,0)$到$(i,j)$的方案数,转移时判一下,懒得写高精用 python TLE到60分……
我们发现不穿过$y=x$就是不经过$y=x-1$上的点……
所以我们从$(-1,0)$开始走,总方案数是$C^{n+1}_{n+m+1}$。
然后从出发点向上走的路径条数是$C^{m-1}_{n+m+1}$,向右走的方案与向上走的路径条数关于直线对称,所以最后答案是$C^{n+1}_{n+m+1}-2C^{m-1}_{n+m+1}$
//用阶乘预处理即可……加上高精度