刚来到学校就马上做了NOI2014的试题,做得成绩不好,但是觉得自己能发挥的都尽力了吧。唯一的失误就是第二天的第二题有一点小超时到最后才发现,然后没有时间优化常数了。
起床困难:分位暴力做就可以了
魔法森林:LCT
动物园:KMP + next树 (用树状数组维护从这个点到根的那些值的个数)
随机数生成器:贪心暴力(1.2.3.4…这样往后找能否取)
购票:斜率优化 + 链剖(线段树上维护的是一段区间的凸壳)
北京市选题:
COIN:F[I] = MIN(F[I-A[J]]+1),可以看出F数组较大时已经趋于稳定,能构造出的数已经构造出,对于后面的值只需要全部用面值最大的硬币就可以了
EULER:y = x*(p1-1)/p1*(p2-1)/p2…,然后一个质数+1是y的因数才有可能可行,暴力出这些数,然后暴力枚举+剪枝
TRIPLE:枚举I,J 那么A[K]+A[L] ==A[I]-A[J],我们只需要维护一段区间内两个数和为x的个数,值为x的个数,统计答案,使得每对答案都统计3次,有111,112,123这三种情况
IDEA:将每种想法随机一个(0,1)的数,统计每一个问题的前T小的想法
设问题i的想法有k个,那么他们期望为1/k,2/k,..这些数,设p=T/k,那么k=T/p,多做几次取平均值
大融合:树链剖分
路径:暴力DP
NOIP模拟
RIVER:贪心例题,因为这是一个网格图,每一次只向右移动一格,那么贪心一个向右移动时间增量最少的位置来移动
ESCAPE:因为只有17个关键点,DIJ预处理两两最短路,设F[I][S]为在位置I,路过的状态为S
LUCKY:暴力出小于等于m的质数,那么一个数可行则为p1^c1+p2^c2…<=n(c为0或奇数)暴力枚举到了质数I,前面质数积为v,强力优化:若p[i]*p[i]*v>n则i及往后的质数最多取一个,二分最后一个可行的i,直接加入答案