考试总结 模拟$96$

可能是打球过度劳累?之后极度高效

真的很困很精神的一场考试。

考试状态不再谈了。

需要记住的copy一个区间的时候,不要用memcpy!!

这几场考试的数据都很水,T2最后发现写了一个memcpy的5e5的数组,结果TLE20,居然没有阶乘暴力分高!!

然后把memcpy写成for循环,就搞到了70。。。。

T1「慢速乘」

简单化式子,贡献分别计算,i,j,-1

然后考试最后自己yy了一个慢速乘,

写的不够简洁,其实把快速幂的×改成+就好了

T2「贪心」「倍增」

和上一次的T2感觉是差不多的,第一眼的感觉确实很不可做,然后多看一会就会yy出一些性质,

然后打表证明它的对的就十分开心

性质1:由于每多一对点贡献必定增加,那么只要从前往后只要不超过m就放,就会最少

性质2:对于每个区间,贡献最大的情况是最大a的对应最大的b

如果把贡献换成(a-b)^2,那么最大的贡献是最大的a对应最小的b(算法进阶0x06倍增)

现在每次chk就是O(len log {len})的了

对于每一个左端点,我们去倍增寻找它的右端点,算法流程是:

初始p=1,r=l,

1.如果chk(left,r+p)==1合法,那么就让r+=p,p<<=1;

2,否则让p<<=1;

3.while结束条件是p==0

T3

各种乱搞都能拿20+

然而我爆0了。。。。

原文地址:https://www.cnblogs.com/casun547/p/11775296.html