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