复盘|LCP2022FALL个人赛
LCP 61. 气温变化趋势
【模拟】判断大小关系一样与否。
LCP 62. 交通枢纽
【模拟】找入度 = len(node) - 1且出度 = 0的点。
LCP 63. 弹珠游戏
【枚举】由于路径是唯一的,一个入口只会对应一个唯一的出口;一个出口+进入出口的方向,可以找到唯一的入口。因此,从不同入口出发的弹珠,走过的路径在同一个格子上是不会重叠的(方向相反不算重叠),且路径不存在环(可以画图理解)。枚举所有入口,模拟即可。不需要DFS,写个循环就行。总计算量m×n×4 至多4×10^6。
LCP 64. 二叉树灯饰
【树形DP】定义状态(当前节点,祖先节点开关2的切换次数的奇偶性,父节点是否切换了开关3),每个状态表示从当前状态出发,最少需要操作多少次开关,可以关闭子树所有节点的灯。跑一个树形DP。如果当前受到祖先节点的开关影响后,变成开灯状态,那么可以操作一个或三个开关:操作开关1;·操作开关2:。操作开关3;操作开关123;这四种操作取最小值。如果变成关灯状态,那么可以操作零个或两个开关;不操作任何一个开关:操作开关12;·操作开关13;·操作开关23:这四种操作取最小值。
LCP 65. 舒适的湿度
【DP】1.画折线图,问题转换成最小化折线图中最大值与最小值的差。2.定义f[i] [j]表示考虑operate的前i个数,其中某些数字变成负数后,折线图最右端点到折线图最下端点的纵坐标距离为时,折线图中最大值与最小值的差的最小值(请注意:状态定义中的不是坐标,是到下界的相对距离)。3.设x=operate[i]。分类讨论:取正号,折线图往上走:f[i+x=max(f[i-1] [j],j+x)。取负号,折线图往下走,且纵坐标设有小于最下端点的纵坐标:f[i] [j - x]=f[i-1] [j]。取负号,折线图往下走,且纵坐标小于最下端点的纵坐标,那么产生了一个新的最下端点,按照定义:f[i] [0]=f[i-1] [j]-j+x。