标签:方案 题解 元素 合法 减去 答案 集合 模拟 drinks
这道题的核心思路在于把多个元素的集合转化为最多3个元素的集合,然后再通过偏序问题常用方法得到答案。
首先对于任何一个集合,丢掉一个不对答案产生贡献(abc都比其它的小)的元素不会对答案造成影响。因此我们对每一种集合都只保留能够产生贡献即至少有一个(a/b/c)是最大值的元素。
那么任何一个集合都最多只有三个元素了。
我们考虑计算这些合法集合的个数,也就是答案了。
一个元素很简单:直接n个。
两个元素也很简单:\(C_n^2-\)不合法方案数。不合法方案即有一个元素没有任何用处,也就是需要计算一下对于每一个元素其“完全支配的点的个数”然后全部加起来 (即\(a_i<a_j,b_i<b_j,c_i<c_j\)),三维偏序的裸问题。
三个元素也不算难:还是总的减去不合法的。总方案数为\(C_n^3\),再减去有两个元素都没有用的情况:即若刚才计算出某个点能支配x个点,那么这里不合法方案就有\(C_x^2\)个,把每个点这样的答案都加起来即可。
然后再减去
标签:方案,题解,元素,合法,减去,答案,集合,模拟,drinks 来源: https://www.cnblogs.com/lytql/p/15431684.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。