标签:http logs 方法总结 优化 pid extra 练习 csdn 插入
对于形如 \(dp[i]=dp[j]+(i-j)*(i-j)\)类型的转移方程,维护一个上凸包或者下凸包,找到切点快速求解
技法:
1.单调队列 : 在保证插入和查询的x坐标均具有单调性时可以使用
2.单调栈+二分:保证插入有单调性,不保证查询有单调性
3.分治+ 1 或 2:在每次分治时将\([l,mid]\)这段区间排序后插入,然后更新右区间\([mid+1,r]\)的答案
分治法介绍:
定义函数\(Solve(l1,r1,l2,r2)\)记录当前分治到被转移的区间是\(l1,r1\),用来更新的区间是\([l2,r2]\)
枚举找到\(mid\)的决策点,根据单调性将\([l2,r2]\)分成两段,递归进行
复杂度上,每一个递归层的\([l1,r1]\),\([l2,r2]\)都分别构成近似一整段[1,n]的区间,最多只有\(log n\)层,所以复杂度是\(nlogn\)
石子合并。。。
标签:http logs 方法总结 优化 pid extra 练习 csdn 插入
原文地址:https://www.cnblogs.com/chasedeath/p/11743464.html