第☝️周
训练内容
个人赛为主,加上题单的练习,主要的算法包括二分,三分,栈,队列,01分数规划等等。
存在的问题
① 英文题面
这几次个人赛的大多题面都是英文,四级还不知道过没过的我属实觉得读题有点困难了,大多时候都是靠翻译解决的读题问题,而这也可能导致一些题没读准的情况,就类似于🐔🐔 这道题一样,没仔细读题,结果白磕的很长时间,导致后面更简单的G题没写。所以还是要提升读英文题面的能力才行;
② 作息问题
之前的训练大多在十二点,这次改到九点,作息不太规律感觉到了下午状态也不是很好,所以还是要健康作息才行。
算法方面
Ⅰ. 二分
这周还是做了很多关于二分的题的,对二分也是有了更深的理解,尤其对于lower_bound和upper_bound的使用更加熟悉了,我觉得二分的难点就是在于发现它的二分性、以及check函数的设计还有区间的缩小,还要多刷题才能更加熟练。
例题:
完全平方数(比较典的使用lower_bound的题,就是要与处理一下平方数)
[NOIP2011]聪明的质检员 (一道比较考验check函数的题)
位数差 (个人认为比较难的一道,分治和二分一起用,一开始真没想到,看几遍题解才明白)
Ⅱ. 三分
了解了一下三分的操作方法,大概就是用于题目要求解一个凸函数和凹函数的问题,只不过还没有刷题,后续多刷题感受一下
Ⅲ. 01分数规划
主要用于求解 这类问题,将式子化成
,然后二分max就行
例题
小咪买东西(模板题,了解01分数规划后感觉很简单)
gpa(模板题的升级版,其实就是把式子变了一下,另外要实数二分)
码:
Ⅳ . 栈和队列
经典的stl容器类,主要注意他们的操作就行。
例题:
后缀表达式(典,很好的一道练习栈的题)
滑动窗口(deque实现)
Brutality(优先队列的使用)
小结
比较忙的一周,第一次这么高强度的训练吧,六天六场个人赛,题单的题也挺多的,不过感觉还行,就上面几个问题还需要注意一下;另外,还要提高效率,尽可能多学点东西!!✊✊