csp-s模拟测试59(10.4)「Reverse」(set)·「Silhouette」(容斥)
Posted wwb123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csp-s模拟测试59(10.4)「Reverse」(set)·「Silhouette」(容斥)相关的知识,希望对你有一定的参考价值。
A. Reverse
菜鸡wwb又不会了.....
可以线段树优化建边,然而不会所以只能set水了
发现对于k和当前反转点固定的节点x确定奇偶性所到达的节点奇偶性是一定的
那么set维护奇偶点,然后每次set找点删点注意边界
set在删点后原来的迭代器会玄学出错,xuefeng好像被坑了,所以lowerbound一下就不用++了
B. Silhouette
很玄学的容斥
考场多QJ了18分,因为如果1-n是个序列,好像就是一个简单的容斥.....
然后用能发现是以“L”形的形状向右推的,随便乘一下就出来了....
正解的话就很困难了2333333
将a,b排序,没有影响。
然后发现对于某个节点单独考虑贡献,我们从大到小枚举值,然后当s<min(a[i],b[j])时
当前节点就可以贡献了,因为我们排过序所以每次的形状不是“L”型就是矩形
那么我们开始容斥了,然后与xuefeng看(tui)了一下午,最后看大佬WD博客,大概明白了。
其实对于一个L型矩形我们分成两部分,然后我们设f[i]表式至少有i行最大值不是s的方案
用二项式反演可以推出恰好0行的方案数,(然而还是不会二项式反演QAQ)
$f[i]=\\sum\\limits_i=0^aC_a^i \\times (S^i \\times ( (S+1)^A-i - S^A-i ) )^b \\times ( S^i \\times (S+1)^a-i )^B-b$
有时间再解释把...
以上是关于csp-s模拟测试59(10.4)「Reverse」(set)·「Silhouette」(容斥)的主要内容,如果未能解决你的问题,请参考以下文章