4.1阿里工程笔试
java #阿里笔试0401# #阿里笔试#
第一题 t = gcd(d,m) ; a %= t; ans = m - t + a;
第二题 贪心
存一个值 now = 0 , 先把 ( 看成 1 , ) 看成-1 , 从左往右 + , 如果 now 要变成 -1 就把 ) 变成 ( , 存入 ans;
再反过来遍历 now = 0 , 吧 ( 看成 -1 , )看成 1 , 从右往左 + 如果 now 要变成 -1 就存入 ans;
第三题
(r,u,v)
取 x = lca(u , r) , y = lca(v , r);
如果 x == y 就输出 lca(u , v)
如果 lca(x , y) == x 就输出 y
如果 lca(x, y) == y 就输出 x
没有别的情况。
第一题 t = gcd(d,m) ; a %= t; ans = m - t + a;
第二题 贪心
存一个值 now = 0 , 先把 ( 看成 1 , ) 看成-1 , 从左往右 + , 如果 now 要变成 -1 就把 ) 变成 ( , 存入 ans;
再反过来遍历 now = 0 , 吧 ( 看成 -1 , )看成 1 , 从右往左 + 如果 now 要变成 -1 就存入 ans;
第三题
(r,u,v)
取 x = lca(u , r) , y = lca(v , r);
如果 x == y 就输出 lca(u , v)
如果 lca(x , y) == x 就输出 y
如果 lca(x, y) == y 就输出 x
没有别的情况。
全部评论
太强了啊
糖丸了, 现场推lca
相关推荐
查看12道真题和解析 点赞 评论 收藏
分享
