摘要: 一道典型的组合问题,可惜当时想的做法就不对,一直走到黑了。当时想的做法是用容斥做,可惜当时容斥的姿势不对,首先先把问题看成是组合问题最后再转化为排列,枚举每组是否出现挨着的,枚举到头求组合,由于可能统计重复,所以容斥。这种思想明显漏算了很多情况,当时还脑残的认为肯定正确……。想了半天都没想到怎么做,于是去膜拜大神的BLOG去了,虽然只有精简的几行,而且没看懂具体怎么做的,不过思路瞬间成竹在胸了。正解用组合DP做,因为状态能够递推,还是先把排列问题转化成组合问题,最后再乘各组的阶乘。解决组合类问题的思想其实还是那几种,插空、捆绑、隔板什么的。设dp[i][j]为第i组人员加入到队列中后,有j个空 阅读全文
posted @ 2013-03-31 17:47 McFlurry 阅读(419) 评论(0) 推荐(0) 编辑