省选模拟六十二 题解

T1
神仙LNC打法:
维护一个小根堆,里面有k+1个元素,每次取出堆顶便是当前位置的值
题解打法:
向左走的步数是左边大于它的个数与k取min
向右走的步数是从前往后数第k个比当前值大的数所在位置与当前位置直接的小于当前值的数
T2
矩阵a[i][j]=L[i]=<j<=R[i]
那么行列式的正负便是答案
考虑维护线段
维护n个set第i个set里存以i为起点的线段
扫描线每次取出最短的去消其他的
其他的左端点变成了这个线段的右端点+1
set启发式合并即可
T3
首先把c排序
设A[i]代表选i个的概率
B[i]代表选i个的浪费的钱
设S=C1
先假装B是S循环的
然后发现在c[1]c[2]以上都是对的
最后纠正1e4以下的B的贡献 B[i]=S-i%S
1e4以下A暴力求
f[j]=sum(A[i])(i%S==j)
A[i]=(100-p+p
x)^n第i项
整一个MTT快速幂
变幂便对于S取模

posted @ 2020-04-04 22:25  ATHOSD  阅读(122)  评论(0编辑  收藏  举报