151014总结

//lsh。。。 >_<


T1



dp:f[i][j] :前i+j个数中Alice取i个,Bob取j个的最优值


【错因】没开 long long + 数组没开够 TAT


需要的知识:dp


T2


区间和=sum[x1...x2]*sum[y1...y2] = a
枚举sum[x1...x2]再计算出有多少对应的a/sum[y1...y2]
//注意:sum[y1...y2] = 0 的时候要特判


【错因】数组开小了
/*
然而并不知道为什么,sum最大只能取到36000啊,为什么要开到1e7才能过→→
*/


需要的知识:无


T3


若随机一个数字a[x],则P( ans|a[x] )>=1/2,若随机10~20次,则答案错误的概率就会很小
每次随机一个数,求出它的因数,再求出gcd(a[x],a[1...n]),对于每个因数k,k出现的次数=sigma(t[k*l]) (l∈Z,t[i]即前面gcd出现的次数),若次数>=n/2那么就可以用来更新答案
//小概率事件→不可能事件
//开始一直T,,,后来全改成long long就A了,-_-|||


需要的知识:。。。


今天又考挂了╮(╯▽╰)╭

你可能感兴趣的:(总结)