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]=sumlimits_{i=0}^{a}C_a^i imes (S^i imes ( (S+1)^{A-i} - S^{A-i} ) )^b imes ( S^i imes (S+1)^{a-i} )^{B-b}$
有时间再解释把...