照肝胆
题解集
不要问我为什么再开一坑。
线段树
模拟 87 T2 bird
这道题线段树还是不错的,毕竟考场上没有想到怎么用线段树优化这个dp。
也不是新思想了,就是固定问题的某一个端点,保证一端合法,查询另一端符合条件的个数,更新答案。对于端点的固定也并不是固定的,具体还是看题分析,主要是分析点对于线段的位置关系的合法情况,这道题是按右端点从大到小排序,动态维护区间信息,在信息非法时删除区间信息。
模拟 89 T3 椎
线段树好题。
启发我的主要是新颖的线段树下标和左右子树的关系,对于互相有限制条件左右子树,或者说有单向限制的子树,考虑限制很重要。利用正确的限制关系,可以保证线段树复杂度。就好像CDQ分治一样,线段树分治也是很重要的思想。
模拟 92 T2 数队、 模拟 40 T1 队长快跑
两道题差不多,92是40的升级版,想不到排序就完蛋了。线段树维护不难,主要是考虑好边界,a和b的大小关系都要好好考虑。
数学
$ex\_gcd$
模拟 92 T1 数列
基础的扩欧了,为了祭奠我考场上没有推出来,写一下理解点。
- $(a\ mod\ b)*y$和$(y\ mod\ b)*a$的概念不同,主要推式子过程中会有$y*(a-a/b*b)$的形式,不可以提出$a$,实际含义会改变。
- 最后$x==1$,因为$gcd(a,0)==a$,任何数都是0的因子,最后会得到$a*x==a$的形式,所以$x==1$。
- 特解的增长与本身数的大小成反比例。设$x',y'$是$ax+by==gcd$的一组特解,那么每当$x'$增长$b/gcd$,$y'$对应减少$a/gcd$,结果不变,思考一下不难得知。
缘定,伴今生