可能是打球过度劳累?真的很困的一场考试。
考试状态不再谈了。
需要记住的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
时间: 2024-10-02 22:47:07