20231029NOIP训练赛
20231029NOIP训练赛
时间安排
7:50-9:10 写T1
9:10-10:10写T2
10:10-11:20写T3
11:20-11:50写T4
总结
T1看了一个多小时不会做,导致T4没写完
题解
T1
发现每一个操作在差分数组里只是交换两个数的位置,于是如果两个数组的差分数组排序后相同则a可以变成b
T2
构造题
对于LIS最大,先令\(a_i=i\),对于连续的一段>号,把连续的这一段翻转过来
对于LIS最小,先令\(b_i=n-i+1\),对于连续的一段<号,把连续的这一段翻转过来
T3
dp题,设\(f_{i,j}\)表示前面一直向右走的方案数,\(g_{i,j}\)表示之前一直下走的方案数,预处理出每一行、每一列有多少箱子,dp转移时可以用树状数组优化
T4
可以把一条铁路拆成u->lca和v->lca
设\(g_{i,j}\)表示i这个点,坐\(2^j\)步后,能走到深度最小的点,对于1个询问u v,我们把u和v倍增调到深度最大的深度小于lca的点,同事进行统计答案,设跳完之后是a和b,再计算a和b的子树内有没有分别有一条铁路的左右端点,这个可以用二维数点进行计算