总结

来源:互联网 发布:js添加图片二维数组 编辑:程序博客网 时间:2024/06/04 20:13

Day 1 总结

t1 HDRF每次删掉的肯定是某个区间中最小的节点,直到这个区间的点删完,dfsxu+线段树

T2 Shortest Path Queries 口胡:线段树存储左侧10个点到 右侧十个点的距离 正解维护所有点到中间十个点的距离

T3y:线段树维护dfsxu上这个区间所构成的树的带权直径

T4 对于一棵树上的所有节点维护一棵关于第二棵树上的主席树,标记不下放

T5 利用之多6个质因子的特点容斥+整体二分

T6 分治思想,维护每一件物品出现的时间线段树

T7 利用带权并查集(两个联通分量合并必然不劣于原来结果),故而利用克鲁斯卡尔算法,每次对新的两个联通块判断是否合法,若全都合法则ok

T8 dp[i]表示在i节点子树+一根天线均已覆盖的最小值,加入一条边时树链剖分维护

之后:没讲

总结:对于任何题而言,约优的算法必然针对其所需条件更细致(即分化更细致,如floyed和裸奔tarjan的差异),同时注意不要光顾着数据结构忘记暴力。

Day 2 总结

T1 线段树维护区间矩阵乘积

T2 暴力+标记开始、结尾

T3 整体二分后利用线段树求最大区间,维护三个值即可

T4 中位数神题,整体二分/DP/放弃可做

T5 将乘积转化为log后的和,泰勒展开维护前几项/放弃可做

T6 首先钦定前y个都选,第y+1个不选,考虑比赛名次为层数,在y+1前的所有层数都可产生答案

T7 主席树维护子树情况

T8 点分治+离散化主席树/放弃可做

T9 将考虑每个区间转化为考虑每个点对答案产生的影响,通过动态线段树维护产生答案的完全覆盖这个点的区间和有覆盖个点的区间个数。

T10 线性dp,通过观察性质可知两个转移矩阵可通过线性变换获得,线段树维护,同时利用翻转矩阵的性质维护区间翻转

考试总结:

T1 o(n)预处理+o(n)求出每个点作为答案为多少,写的n方然而蜜汁编译不过。喵喵喵???

T2 打表推个屁,数论靠放弃

T3 网络流,想到了字典树的线段树然而没有想到利用两颗线段树交合在一起求最小割的做法。

原创粉丝点击