Day1
T1:考试的时候发现明显不可做,于是打了一个暴力交表。正解是只考虑余数的末九位,然后多出的几位用dp直接乘上组合数,这样子,dp可以O(nm)的,然后注意到这个是可以快速幂转移的,所以再加上一个快速幂就可以了。
T2:这道题只是一个求值题,所以很容易想到bsgs算法,这样子只用将原式化简一下子就可以做出来了,所以最后可以化简成一个形如ax=b(modp)的式子,就可以搞了。
T3:LCT模板题,将子树access一下再打一下标记就可以了。
Day2
T1:这个简直神了,直接长度排序之后暴力搞就可以,然后扫到长度小于答案的就直接break就可以了。
T2:线性基裸题,最后只用将a的式子最大化就可以了,然后输出答案的话用一个
T3:lct统计每条边的贡献。
Day3
T1:傻逼题,枚举约数就可以了。
T2:行列式题,详情见我的另外一篇博客
T3:回文自动机加lct,天知道这道题要怎么做。
Day4
T1:后面的部分明显是一个lis,这个可以再nlogn的时间做出来。关键是前面部分怎么做。我们注意到前面部分要用一个nlogn的结构来维护,我们考虑用splay。这样子,我们每加入一个数,就把它的前驱打上加一标记。
T2:明显是一个类似于组合数的转移,然后我们只需要看每个1有多少贡献就可以了,这样子就是一个组合数求和。
T3:我好不容易有70分,但是不知道为什么,那个stl中的map出锅了,导致我记忆化搜索的值全错了。题解也很明显,首先还是一个基础的polya定理,然后用一个矩阵来算置换的长度,最后这个矩阵可以直接推通项,然后就可以做了。但是n的范围较大,要用
Day5
T1:有指数出现,所以考虑错位相减,然后一减就出来了。
T2:相当于一个dp,可以记忆化搜索,然后,就是傻逼题。
T3:可以写一个单调栈加主席树,主席树的意义很明显,单调栈的意义是维护一个最大值于一个最小值,然后随着一个r的右移,维护一个单调栈。
Day6
T1:区间众数,这是我这么多天唯一过的题。
T2:石子合并,用四边形不等式优化可以得
T3:网络流建边的时候反向边建成
Day8
T1:杜教筛。首先将平方化成倍角,这样子就会有一个φ的式子。然后如果不考虑互质这个条件,那么一个的和式就是单位圆上的非一单位根,和为−1,这样子再减去多余的部分,就可以像杜教筛一样做了。
T2:动态点分治,将二进制的每一位建一棵树就可以呢。
T3:一个混合的网络流,前一部分按位拆开可以做网络流,后一部分直接二分图。
Day9
T1:就是一个暴力就解决问题,然后竟然还可以证明暴力复杂度就是对的。
T2:裸的树上背包,然后每次只枚举子树大小就可以做到n2。
T3:两个网络流,那么先跑一次全满流,然后再跑一次半流算出一个方面的范围,然后那个式子可以求导求出来极值在哪取到,就可以做了。
Day10
T1:一个三维的偏序,那么我们可以写树套树套树,也可以写cdq套cdq套cdq,也可以写树套树套cdq。当然不用那么麻烦,正解是cdq套主席树套单调栈。
T2:好题,具体在我的另外一篇博客。
T3:这道题是一个无比复杂的转移,你们可以感受一下:
Day11
T1:好像是一个最小基环树森林,但是不知道怎么证明。实际上,我们发现这个基环树也是满足一个拟阵的性质的,所以我们可以直接贪心的选取。
T2:这道题特别迷,只要每次选极角最小的或者最大的就可以。
T3:通讯题,很毒瘤。
Day12
T1:个指数求和。也可以错位相消,这样子有80。然后再加上一个优化就可以呢。具体加什么优化?那当然是矩阵。
T2:傻逼题。
T3:动态点分治,然而建图却无比复杂,因为涉及到了计算几何。
考试总结
这几天天天想做出一道题,结果浪费了大把的时间却还是没有做出一道题,这就表现出了我还是要提升自己的知识水平,而且有很多东西还不懂。并且思路题也有许多想不出来,还是太笨了。
涉及DP/DP优化:1-1,4-2,4-3,5-2,6-2,9-1,9-2,10-2,12-2
涉及数论/反演:1-2,3-1,4-2,4-3,5-1,8-1,12-1
涉及动态数据结构:1-3,2-3,4-1,6-2,8-2,11-1,12-3
涉及位运算相关:2-2,8-2,8-3
涉及暴力/优化暴力:2-1,6-1,9-2
涉及网络流建模:6-3,8-3,9-3
涉及点分/动态点分:8-2,12-3
本总结记录了NOI集训队某队员为期12天的日常训练过程,涵盖了从DP、数论到数据结构等多个算法领域的题目解析及个人反思。每一天都详细介绍了所遇到的问题及其解题思路。

839

被折叠的 条评论
为什么被折叠?



