
容斥原理
ymzqwq
这个作者很懒,什么都没留下…
展开
-
[Codeforces 340E] Iahub and Permutations (容斥)
传送门 这个340E竟然是340e,让人觉得很诡异。。。 稍微分析一下就可以发现这题本质是求sss个数排列,有qqq个数可以随便排,其余错排的方案数。 回忆一下,我们证明错排通项公式的时候是怎么容斥的,其实这题也差不多。 就是总方案数 - 1个在原来位置上的方案数 + 2个在原来位置上的方案数 - 3个在原来位置上的方案数…… 具体来说,有iii个在原来位置上的方案数,就是先在要错排的数...原创 2018-07-27 18:17:50 · 337 阅读 · 1 评论 -
TopCoder SRM 567 Div2 1000 countPlacements
神tm这题有毒,模数是1e9+9不是1e9+7坑死我了 容易发现有些格子是必须作为山顶的,其余格子是不是山顶都是无所谓的。一个格子只要满足上方三个都不是’X’就必须作为一个山顶,因为没有别的山顶可以覆盖它了。可以统计出必须为山顶的格子有 sss 个,其它’X’的格子有 sXsXsX个。 套用排列组合经典的小球问题,就相当于将 NNN 个不同的小球放入 sXsXsX 个盒子里,可以为空,其中 s...原创 2018-08-10 14:29:17 · 221 阅读 · 0 评论 -
TopCoder SRM 684 Div1 600 DivFree
又是一道神奇的题 最开始就想到容斥,结果写完了之后过不了样例,意识到我那个容斥好像并不满足容斥那个组合数的条件。。 然后标算的容斥刷新了我对容斥的认识= = 先预处理出dp[i]dp[i]dp[i],表示长度为iii的不合法序列数(dp[1]dp[1]dp[1]事实上是合法的,但还是把它算出来) 我们用h[i]h[i]h[i]表示长度为iii的合法序列个数,考虑我们在h[i−1]h[i-1]h[i...原创 2018-10-22 11:48:17 · 293 阅读 · 0 评论