T1.最多因子数(divisors)
给出范围l,r求其中约数和最大的最小整数。
非常深井冰的题目:如果特判加暴力的话分数低的可怜
AC做法要用到分解质因数和线性筛(这俩好写),然而,一个一个枚举还是不可避免的TLE了(最后一个点1,1000000000可怕)。
其实考虑一下,如果n为合数且是x的约数,那么n的约数也是x的约数,所以重复计算了很多。要避免这种情况就要改dfs,在计算过程中保存最多的和最多的约数个数。(然而并不是那么好打的)
T2.改造二叉树(bst)
给出n个节点的二叉树,以及每个节点的值,求改造成搜索树的最小次数。
中序遍历一遍然后LIS(nlogn)n-LIS就好
T3.冒险岛(risk)
N*M的地图,每个点一个值,求(1,1)到(n,m)正值和|负值| (这是绝对值啊啊啊)的比值。
Dp是肯定的啦,主要是这是比值,很难控制转移方程所以改一下,变成判断可行性,因为
所以可以用f[i][j]表示走到(i,j)的最大值,只要f[i][j]>=0就成立。所以二分答案就好了。
时间: 2024-10-29 15:16:53