20210922上午
A
O
J
AOJ
AOJ到底是什么编译系统啊,人麻了。
T1 | T2 | T3 | T4 | T5 | T6 | |
---|---|---|---|---|---|---|
预测 | 100 | 100 | 100 | 100 | 100 | 100 |
一测 | 100 | 20 | 75 | 100 | 100 | 100 |
T1:
可以用树状数组差分,我用分块差分竟然也过了。。。虽然十分丑陋。
对块内和块间都建一个差分数组,恩差就行。
T2:
因为非常傻逼的错误挂了。。。
把相同的全部统计到一起,每次取出数量最多的三个造一个蛋糕再放回堆里。
据说有数学方法可以
O
(
n
)
O(n)
O(n)解,但这个题
O
(
n
l
o
g
n
)
O(nlogn)
O(nlogn)够了。
T3:
经典,用两个队列维护切前切后蚯蚓,因为切的顺序可以保证两队列单调,维护两队列摸你就行。复杂度
O
(
n
)
O(n)
O(n)。
然后在
A
O
J
AOJ
AOJ的神仙机器上
T
T
T了,后面也没改啥就过了。。。
维护代码
for(int i=1;i<=m;i++)
{
if(h>n) now=(q1[h1]>q2[h2]?q1[h1++]:q2[h2++]);
else if(a[h]>=q1[h1]&&a[h]>=q2[h2]) now=a[h++];
else if(q1[h1]>=q2[h2]&&q1[h1]>=a[h]) now=q1[h1++];
else now=q2[h2++];
now+=del;del+=q;
q1[++t1]=floor(1.0*u/v*now)-del;q2[++t2]=now-floor(1.0*u/v*now)-del;
if(!(i%t)) printf("%d ",now);
}
T4:
树状数组维护修改信息即可。
T5:
二维树状数组板子,单点修改不用差分。
T6:
不是,为啥
L
o
g
2
Log2
Log2在
A
O
J
AOJ
AOJ里是关键字???
S
T
ST
ST表板子,开
O
2
O2
O2其他数据结构应该也卡的过去。
总结:被狗评测机气晕。