
组合数学
FrostMonarch
这个作者很懒,什么都没留下…
展开
-
codeforces 1327E - Count The Blocks(组合数学,贡献法)
题目大意:我们生成包含n位数字的从000...000->999...999的所有数字(注意数字保留n位所以有前置0)假设连续的相同数字我们认为是1段,1段里面有可能的长度为0到n。现在问我们,在这10^n -1 个数字当中,长度为1到n的段分别有多少个。n<=1e5.解题思路:很明显,n<=1e5。所以我们考虑枚举n种长度来讨论这个问题。假如我们用一个滑窗的思...原创 2020-03-30 16:26:24 · 662 阅读 · 0 评论 -
codeforces 1312d count the arrays(组合数学)
题目大意:已知区间长度为n,现在按照规定,我们从[1,m]中选择一部分数字放入这个区间。规定:必须有一个数字是重复的。存在下标i,使得下标小于i的数字递增,下标大于i的数字递减,问我们总共有多少种不同的方法来放这些数字。n,m<=1e5.解题思路:首先,我们可以想到从中选出n-1个数字,然后我们可以让其中一部分的数字重复,但是最大值不能够重复,否则破坏了约束。接着我...原创 2020-03-12 11:55:37 · 260 阅读 · 0 评论 -
atcoder Beginner Contest 156 Roaming(组合数学 插板法)
题目大意:有n个数,每个都是1,我们每次可以选择1个数减1,然后让另外一个数加1。但是我们不能生成负数。问我们假如进行k次操作,问我们这n个数能产生多少种不同的组合。注意[1,0,2]和[2,0,1]当作不同的组合。3<=n<=2e5. 2<=k<=1e9.解题思路:看到n的范围,我们容易想到O(n),k次操作后,最多有min(k,n-1)个0。我们从0的个...原创 2020-02-29 21:49:48 · 454 阅读 · 0 评论