2019暑假杭二day6测试总结

T1

题目大意

给你一颗 个点的边权均为1的树,找到一个点 ,使得距离点最远的点最近,输出距离点最远的点到点的距离。

sol

输出树的直径除2向上取整。

证明略

T2

题目大意

给你(n)根木棍和(m)次询问,第i根木棍长度为(a_i),每次询问给你两个数(l,r),你要在(l,r)区间内选出3根木棍组成一个三角形,使其周长最大。如果区间内没有三根木棍能组成一个三角形,输出-1。(1<=n<=10^5,1<=m<=5*10^5,a_i<=10^9)

sol

这是多校联测的原题,根据贪心,先取出第一、二、三长的木棍,看能不能拼成三角形,不能则继续取出第二、三、四长的木棍,继续判断。最坏情况木棍长为斐波那契数列,第45项就超过(10^9)了,所以45次判断后一定能拼成三角形。现在,问题变成了区间第k大问题,由于不带修,主席树即可。时间复杂度:(Theta(45mlog_2n))

T3

题目大意

给你一个长度为(n)的 01 串和(m)次询问,第(i)次询问会给你(l)(r),你需要输出以(l)(r)结尾的前缀中两两的最长公共后缀的最大值。

sol

还不会。正解要用SAMLCT,十分毒瘤,可能短期内不能补上了。

原文地址:https://www.cnblogs.com/hht2005/p/11402661.html