首页 > 其他分享 >[AGC002F] Leftmost Ball

[AGC002F] Leftmost Ball

时间:2024-09-11 21:35:46浏览次数:1  
标签:种颜色 Ball 颜色 nk AGC002F 白球 Leftmost

题意

给定 \(n\) 种颜色的球,每一种有 \(k\) 个,随意排列 \(n \times k\) 个球,然后将每种球的左边第一个球变为第 \(n + 1\) 种颜色,问操作过后有多少不同的颜色序列。

\(n, k \le 2000\)。

Sol

先将修改的球当成一种新的颜色。

注意到一个性质,假设最终颜色序列一个前缀的第 \(i\) 个白球,显然在 \(i\) 左边只可能出现至多 \(j < i\) 种颜色的球。

因此考虑设 \(f_{i, j}\) 表示现在放了 \(i\) 个白球,剩余颜色有 \(j\) 个被放了,每次转移要么放一个白球,要么放一整种颜色的球。

如果直接乱放是不好去重的。

经典套路,考虑映射一个不重不漏的特殊性质。

钦定每次操作必须放到右边第一个空位,重复的问题显然解决。

  • \(f_{i, j} \to f_{i + 1, j}\)
  • \(f_{i, j} \times \dbinom{nk - i - (k - 1)j - 1}{k - 2} (n - j) \to f_{i, j + 1}\)

复杂度:\(O(nk)\)。

标签:种颜色,Ball,颜色,nk,AGC002F,白球,Leftmost
From: https://www.cnblogs.com/cxqghzj/p/18409038

相关文章

  • Ball
         1. pinpadballbump区别2. Wedge、Ball、Bump:芯片工艺中的三位巨头......
  • MySQL - Disable autocommit globally
    autocommitCommand-LineFormat--autocommit[={OFF|ON}]SystemVariableautocommitScopeGlobal,SessionDynamicYesSET_VAR HintAppliesNoTypeBooleanDefaultValueONTheautocommitmode.Ifsetto1,allchangestoatabletakeeffectim......
  • DataBall 数据球项目
        今天看到一则消息,英伟达市值蒸发2790亿美元,为什么?大模型这个风口难道不再能支撑英伟达的股价了吗,当然这里面有政策因素影响,但是我却比较留意文中提到:每年要挣6000亿美元才能支付巨额的硬件支出,但是目前市场如OPENAI也只有34亿美元的收入,绝大部分大模型相关业务公司,......
  • CF1998E2 Eliminating Balls With Merging (Hard Version)
    原题链接考虑对于每个\(i\),算出向左扩展到\(1\)时向右至少和至多扩展到哪里,记为\(minr\)和\(maxr\)。那么也就是说每个\(i\)会对\(minr\simmaxr\)做出贡献,差分一下就可以了。重点是怎么计算这两个东西。先说\(maxr\)。如果暴力跳,过程是:先向左扩展直到不能扩展,然后......
  • [ARC083F] Collecting Balls
    MyBlogs[ARC083F]CollectingBalls建图,连边\((x_i,y_i+n)\),这样会形成一个基环树森林。对于基环树的每条边,需要把他归到他连接的两个点中任意一个,并且每个点只能拥有一条边。对于每个基环树分别计算,树边归属的点一定是它两端深度较大的那个,环边归属点整体只有两种方式:顺时针......
  • D. Ice Cream Balls
    题目链接:https://codeforces.com/contest/1862/problem/D题目:思路讲解:首先观察样例和题目不难看出,x个不重复的数字一共能组成x(x-1)/2个数组,而当有重复的数字出现的时候,就只能多组成一个数组,那思路就很明确了,先找出最多能有几个不重复的数字,之后再加上需要完成的数组和已有的数......
  • [ABC366C] Balls and Bag Query 题解
    [ABC366C]BallsandBagQuery题解题目传送门AT原题传送门首先是题面的翻译:你有一个袋子,给予\(Q\)次操作,操作有三种1\(x\),将一个写有整数\(x\)的球放入袋中。2\(x\),从袋中取出一个写有整数\(x\)的球。3,查询袋中球上的不同整数的数目。整理了一下思......
  • 题解:AT_abc366_c [ABC366C] Balls and Bag Query
    题意给你一个可重集,要求支持插入,删除,元素种类查询三种操作。分析直接乱搞,用一个桶记录每种数字的出现次数,再用一个变量\(sum\)记录元素种类数。插入的时候看看当前该元素出现次数是否为\(1\),删除的时候看看当前元素出现次数是否为\(0\),如果是的话让\(sum\)相应加减即可......
  • CF844D Boxes And Balls
    题意有\(n\)个箱子、\(n\)种颜色的球,第\(i\)种颜色的球有\(w_i\)个,最开始时都在第\(1\)个箱子中。每次可以从有球的一个箱子中拿出所有球,并随意分割为2部分或3部分,并放入箱子,需要的代价为球的总数。问将每种颜色的球都放在对应的一个箱子中需要的代价最少是多少。......
  • I Love Balls
    转换对象,考虑每个球能被A/B拿到的概率是多少(注意对于每个特殊球/非特殊球来说,能被某一人拿到的概率是相同的)然后就可以看这篇题解这篇题解的正确性在于我们不用关注当前拿球的人是谁,对于一整局游戏,无论最后球是按什么顺序拿的,概率都是相等的;这也就是说,每一局游戏的概率与“随机......