Lightoj 1124 (容斥+lucas)
题意:有k个区间【l,r】,从每个区间选一个数使他们和为n,问有多少种方法。思路:这个问题可以转化为k个【0,r-l】的区间 ,每个区间选一个数使他们和为n-sum(l)。令n = n-sum(l).这样通过隔板法,就能得到方案数位C(k+n-1,k-1)。但因为会有超出的情况,所以通过容斥去判断超出的情况。超出0个时候加,超出1个的时候减,超出2个的时候加,超出3个的时候减……最后二进制枚举子集...
原创
2018-04-26 22:31:34 ·
241 阅读 ·
0 评论