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的子树内有没有分别有一条铁路的左右端点,这个可以用二维数点进行计算

posted @ 2023-10-30 09:37  RYANGSJ  阅读(1)  评论(0编辑  收藏  举报