啊,我爱数学!|

Fun_Strawberry

园龄:10个月粉丝:1关注:0

7.24 之后的考试总结

7.24

100+100+100+0=300

整体:前三题发挥稳定,最后一题确实超出了我的知识范围,但是较为简单的 30 pts 没有细想,比较可惜。

T1:

两个 0-1 串,每次选中两个串上的两个等长(位置不一定相等)区间,询问两个区间不相等的位置数量,2 取模

Solution:考虑对 2 取模经典问题模型,这类问题有一些有趣的解决方案:

第一个是考虑异或操作,因为异或就是模 2 意义下的加法,而且有较多性质。

第二个是考虑消掉一些重复(或者可以一一对应)的项来达到正确的复杂度,具体说根据实际情况考虑分治,meet-in-the-middle 等算法。

回到本题中,本题较简单,因为发现两数不同就意味着异或为 1,有奇数个也意味着不同数量的异或为 1,考虑异或的结合律,则答案就是把选中部分全部异或。

维护前缀和即可。

T2:

(n+1)×(m+1) 的点阵图中选中 k 个点,满足:

  1. 它们在一条直线上;

  2. 相邻两点距离不小于 d

求满足条件的方案数。

多测,n,m,d500,k50,T20

Solution:枚举数数题。

考虑枚举左下端点和右上端点,则此时方案数较为好计算,考虑使用插板法,并预处理组合数,复杂度 n2m2T 真美丽。

但是发现其实枚举端点是没啥意义的,因为答案只和 Δx,Δy 有关。

考虑枚举 Δx,Δy 并计算每一个的贡献次数,复杂度回到 nmT

T3:

给定一棵以 1 为根的有根树,你可以任选起点,每次向某个祖先或者子树内某个点跳,但是不能重复经过已经去过的点,问最多能走过多少个点。

Solution:

考虑二叉树,发现中序遍历挺对的,难道一定有解全覆盖?

并不是。菊花图就不是。

但是我们发现答案形如:解决一个子树,回到一个祖先,解决另一个子树并把没解决的部分挂上去。

选那两个子树呢?肯定是最大的两个,故每次操作形如吸收所有子树的答案并取最大的两个合并再加 1

于是使用 set 启发式合并以获得 O(nlog2n) 的复杂度。

7.27

100+100+100+0=300

整体发挥稳定,该做起的都做起了,最后一题确实抽象!

在错误大样例干扰下通过,证明了自己对大样例的去依赖性(?)

T1:数轴上共 n 个点,你可以选择 2m 个相连成 m 条线段,求总长度最小值。

Solution:显然选相邻点的点对最优。

那么变成在 n1 个点对中选 m 个,位置上不能相邻,求最小代价。

这个是反悔贪心经典例题。

不过作为 T1,数据很小,直接 dp 即可通过。

T2:一个长为 n 的排列,一些位置为 0 表示待填充,现在可以任意删除一个,再填充所有 0,使得没有重复元素情况下,序列字典序尽量小。

Solution:

CF 味很重的一道题目。

字典序基本上肯定按位贪心。

然后简单分类讨论即可。

T3:虚树题,来不及写清楚,不过运用了伸缩树的性质,做法是考虑维护 dfs 序相邻的 LCA 集合。

T4:神秘 DP,没人做出,只好跳过。

8.11

40+0+91+40=171

整体:不挑战,怕战胜,困困困,难难难。

T1 被 windows 背刺,以后 ull rand 还是都写四个吧。

T2 会了但是困,不想写

T3 没啥说的,原。

T4 有想法,但是码力不够考场上肯定也写不出来。

从 T1 拓展学习了 Xor-Hash。

8.21

20+100+70+20=210

唐唐唐。

怎么 fsfdgdg 当时会 A 啊。

然后就是联考素质未知,所以难度很可能跟顺序毫无关联,之后如果搞不出 T1,考虑签到可能在后面,不要慌,也不要死磕在一道题上。

但是,说签到,让我看看是谁不会 meet in the middle?哦,是我!

可能还是被顺序诈骗了吧。

T3:唐题,因为 n40,考虑折半搜索,就简单了)

T2:线段树 / 倍增简单题,你说我糊线性图啥呢。

T1:很有趣的 DP 题目,以后看到 Dp 题目,也应该考虑状态数的优化,只找有用的状态。

T4:好玩的 Xor-Hash,学会了一个奇数转偶数的 trick。

本文作者:Fun_Strawberry

本文链接:https://www.cnblogs.com/FunStrawberry/p/18321833

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Fun_Strawberry  阅读(3)  评论(0编辑  收藏  举报
评论
收藏
关注
推荐
深色
回顶
收起
点击右上角即可分享
微信分享提示